• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストのソースを変数に格納したい vba)

VBAを使用してテキストファイルのソースを変数に格納する方法

このQ&Aのポイント
  • VBAを使用してデスクトップにあるテキストファイル(html型)のソースを変数に格納する方法を教えてください。
  • 現在はブラウザを立ち上げてソースを取得していますが、ADOや他のテキスト操作を使用してソースを変数に格納する方法があれば教えてください。
  • ブラウザを立ち上げずにテキストファイルのソースを変数に格納する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

別の質問への回答を作成していて検索している内に、たまたま遭遇しました。 http://okwave.jp/qa/q8648361.html #2さんの回答にも出てきますが、IEを起動せずにDOMが扱えるみたいです。 単純に変数bufに格納するだけなら、下記の様にTextfileとして扱えば良いですし、 少し触ってみただけですが、HTMLDocumentにwriteすれば、DOMで操作できます。 IEは起動しないにしても、似たようなプロセスが走っているのではと、途中でStopしてタスクマネージャーで眺めてみましたが、発見できておりません。 Sub test() Dim doc As Object Dim fso As Object Dim textFile As Object Dim buf As String Set doc = CreateObject("htmlfile") Set fso = CreateObject("Scripting.FileSystemObject") Set textFile = fso.OpenTextFile(GetDesktopPath & "\test.html") buf = textFile.readAll doc.write buf Debug.Print doc.getElementsByTagName("Title")(0).innerText Set doc = Nothing Set fso = Nothing End Sub 'コード中の伏せ字を防ぐためデスクトップに置いて試しています Private Function GetDesktopPath() As String Dim wScriptHost As Object, strInitDir As String Set wScriptHost = CreateObject("Wscript.Shell") GetDesktopPath = wScriptHost.SpecialFolders("Desktop") Set wScriptHost = Nothing End Function

ixfzqyrdte
質問者

お礼

ありがとうございました。

その他の回答 (2)

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.2

載せられてるコードから察するにIEを介さないでDOM処理を行いたいのでしょうけど、 CreateObject("htmlfile")でインスタンス化して IPersistFileのLoadメソッドで読みこめばいいのですが、 VBA用のタイプライブラリを作るかどっかから調達してこないといけませんね。

ixfzqyrdte
質問者

お礼

ありがとうございました。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

テキストファイルの読み込みですので以下のサイトを参考にしてみてください http://officetanaka.net/excel/vba/file/file08b.htm

ixfzqyrdte
質問者

お礼

ありがとうございました。