1

WebベースのXMLデータをスプレッドシートに取り込む方法を実装する方法についてのアイデアを探しています。理想的なソリューションは、ユーザーの操作がほとんどまたはまったくない状態でスプレッドシートを開くたびに更新することです(つまり、マクロを実行するようにユーザーに指示する必要はありません)。

ただし、私の最初の考え(そしておそらく私が最終的に使用するもの)は、XMLをダウンロードして解析し、スプレッドシートを吐き出すPerlスクリプトです。これではスプレッドシートは更新されないため、生成する必要があります。ある種のスケジュールに関する文書(はい、私は完全な自動化と仕事からのコーディングを好みます:))。私が(私が思うに)欲しいのは、URIを受け入れるXMLのodbcであり、おそらく理想的です。このようにして、XPathを列にマップすると、スプレッドシートが開かれるたびに自動的に更新されます。または、VBAにURIを取得してXMLを解析し、ブックを開いたときに実行する方法があるのでしょうか。

4

2 に答える 2

0

DOM を使用して XML ファイルを解析し、関連する値をシートに吐き出します。始めるための簡単な作業例を次に示します。

Dim d As DOMDocument
Dim n As IXMLDOMNode
Dim s As String

Set d = New DOMDocument
d.async = False 
d.Load "http://www.democracynow.org/podcast-video.xml" ' or "C:\myfile.xml"

Set n = d.SelectSingleNode("//channel/description")
s = n.Text
Range("A1") = s

この事前バインディングには、次のような参照セットが必要です: [ツール] > [参照...] > [Microsoft XML]

d.async = False先に進む前にロードを強制的に完了することに注意してください。これは、リモート ファイルをロードする場合に特に重要です。

あなたはしたい

ユーザーの操作がほとんど、またはまったくない状態でスプレッドシートを開くたびに更新します (つまり、マクロを実行するように人々に指示する必要はありません)。」

Workbook_Open次に、イベントにマクロを配置します。それが目的です。

于 2012-06-26T10:27:05.780 に答える
0

xml ファイルはどこにありますか? この場所は修正されていますか?

はいの場合、Excel でこの xml ファイルへのデータ接続を作成できます。

次に、Excel ファイルが開いたときに更新するように xml 接続をセットアップします。

于 2012-06-26T08:28:48.887 に答える