人生のプチ美学を教えてください!!

ブラウザでURLを指定すると、htmlがサーバーから返され表示されます。
それをVBAからURLを指定し、htmlのソースを文字列で受け取りたいと思います。

普通にshellで渡すとブラウザが起動されてしまうし・・・。

方法があれば教えてください。

A 回答 (2件)

HTMLテキストを取るには


Sub test01()
Set obj = CreateObject("InternetExplorer.Application.1") 'IEを新規オブジェクトとして宣言
obj.Visible = True
targetURL = "http://okweb.jp/kotaeru.php3?qid=1044759"

obj.Navigate (targetURL) '指定アドレスに飛ばす
'時間待ち(objが動作中であれば)
Do While obj.busy
Loop

'表示
obj.Visible = True
For n = 0 To obj.Document.All.Length - 1
If UCase(Trim(obj.Document.All(n).tagname)) = "HTML" Then
s = obj.Document.All(n).outerhtml 'HTMLのテキスト
Cells(n + 1, 1) = s 'エクセルONLY用
End If
Next
End Sub
2,3のWEBに載ってたものの寄せ集めですが。
なかなか載って無いものですね。
sが文字列です。エクセルなどでは、長さ制約あり。
WSHやBASP21やWEBBROWSERなど使う方法があるようですが、不勉強で全体を見渡せていないので取りあえず。
    • good
    • 1
この回答へのお礼

IE自体をオブジェクトで持っていれば、ログインから実行していけるので画面遷移の問題もクリアですね。
かなり参考になりました。

Webアプリケーションの自動テストツールの作成にも使えそうですね。

お礼日時:2004/10/18 00:57

同様の質問をしたことがあるので・・・^_^;



BASP21コンポーネントのW3get関数を利用する方法があります。文字列で「受け取る」ことはできませんが。

参考URL:http://www.hi-ho.ne.jp/babaq/basp21.html

この回答への補足

BASP21、いいですね。
文字列で受け取らなくても、ソースを取得してファイルオープンすればいいですからね。
サイトを参考に取得することができました。

もう少し教えてください。

あるページで試してみると「ちゃんとしたルートから遷移してください」のエラーとなりました。
クッキーの指定でどうにかなりそうなのですが、どんな値を渡せばいいのかわかりません。

どこかを見ればわかるものでしょうか?
(例えば、Temporary Internet Fileとか)

補足日時:2004/10/17 00:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報