-
ID:OD4lF6 さんの質問

A列に記載されたURLからサイトへ飛び、そのサイトのHTML全体を取得するVBAを作りたいのですが、
一つのセルに入ってしまい、さらに一つのセルにも文字数の制限がある為、すべてを取得することができません。

どのように対応したらよろしいでしょうか?

みんなの回答 1 件

ID:HnLo6L さんの回答

*セルに入れるんじゃなくファイルに保存する。
*EXCELじゃなくACCESSを使う。

ID:OD4lF6

ご回答ありがとうございます!

ACCESSが使える環境がなく、
エクセル内でこの操作ができないといけないので。。
取得したHTMLソースを一行ごとにセルをわけて出力するコードを教えて欲しいという内容でした。

言葉足らずで申し訳ありません。

ID:HnLo6L

Dim lines() As String
lines() = Split(Replace(Replace(元ソース, vbCrLf, vbLf), vbCr, vbLf), vbLf)


  • で配列に1行づつ分かれて入る。
    あとは好きなように並べれ。
ID:OD4lF6

回答いただきありがとうございます。
すみません。。初心者なもので。。
下に記載したソースのどこに組み込めば実行できるでしょうか?
また、「元ソース」とはどこの部分でしょうか?

Sub sample()
Dim ie As Object
Dim elm As Object
Dim r As Long
Set ie = CreateObject("InternetExplorer.Application") ’ie
ie.Visible = True ’表示

For r = 1 To Range("A1").End(xlDown).Row
If Range("A" & r).Value <> ""
ie.navigate Range("A" & r).Text
Do While ie.Busy Or (ie.readyState <> 4): DoEvents: Loop

Set elm = ie.document.getElementsByTagName("html")
If Not elm Is Nothing Then
Range("B" & r).Value = elm(0).outerHTML
End If
End If

Next
ie.Quit
End Sub

最終更新日:2015-05-14 (2,412 views)

関連するトピックス

ページ上部に戻る