WebサーバからファイルをダウンロードするにはxmlHttpRequestが楽ですね(XMLファイルじゃなくてもできます)。
Dim data As String
Dim req As Object
Set req = CreateObject(”Microsoft.xmlhttp”)
With req
Call .Open(”GET”, ”http://your_server/sample.csv”, True)
Call .send(vbNull)
If .readyState <> 4 Or .Status <> 200 Then
’ エラー処理
End If
data = .responseText
End With
ファイルをインポートするには一度ファイルに書き出してからエクセル固有のインポート機能を使うと便利だと思います。
’ ファイルに書き出し
Open ”sample.csv” For Output As #1
Print #1, data
Close #1
’ インポート
Call Workbooks.OpenText(”sample.csv”, , , xlDelimited, , , , , True)
以上
すばらしいです。
こういう回答を期待してました。
ただ、サンプルを実践しましたが、エラーになります。
data = .responseText
のステートメントで
「実行時エラー’-2147467259 (80004005)’
エラーを特定できません」
というVBのデバッグを促すダイアログが出ます。
ちなみにresponseTextの内容が、<システムエラー:-1072896658>となっています。
当然CSVのURLは、ieで直接開ける文字列をコピーペーストしています。
OfficeXPといっておきながら、Excel2000で試しているからでしょうか?
どれのことでしょうか?それらしきが見つからなかったので、再回答いただけると助かります。