こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VBA IE操作でソースの表示の内容をテキスト化

IEの右ボタンクリック→ソースの表示の内容をテキストファイル化
するにはどうすれば、良いのでしょうか?

投稿日時 - 2019-11-12 10:13:25

QNo.9678043

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

何らかの業務システムの一部なのかわかりませんが、
その実装、やめておいたほうがいいです。

Windows+IEの組み合わせでしか動作しませんし、サーバー側の実装が変わればおじゃんです。

スクリプトで取得とソースを表示の取得で内容が違うのは、サーバー側でブラウザの種類(UserAgent)を見て返す値を変えているのではないでしょうか。

投稿日時 - 2019-11-12 16:22:38

補足

解決しました。
1.適当な位置でマウス右ボタンクリック
SetCursorPos 1469, 408 '適当な座標
RightClick

Sub RightClick()
mouse_event 8
mouse_event 16
End Sub

2. ソースの表示(V)、名付けて保存(CTRL+SHIFT+S)、ファイル名の入力、保存(ENTER)
ウインドゥの消去(ALT+F4)
Application.SendKeys "V"
Application.Wait Now() + TimeValue("00:00:05")
Application.SendKeys "^+(S)"
Application.SendKeys "{NUMLOCK}"
Application.Wait Now() + TimeValue("00:00:05")
Application.SendKeys Fname
Application.Wait Now() + TimeValue("00:00:05")
Application.SendKeys "~"
Application.Wait Now() + TimeValue("00:00:05")
Application.SendKeys "%{F4}"

以上で、できました

投稿日時 - 2019-11-27 08:10:34

ANo.1

ページをファイルに保存することが目的なら、以下などを参考に。
https://so-zou.jp/software/tech/programming/vba/sample/web.htm

投稿日時 - 2019-11-12 12:50:52

補足

すみません。最初の質問で説明が足らなかったので
回答の通りで
Dim htmlDoc As HTMLDocument
Set htmlDoc = objIE.document

Set objAll = objIE.document.all

For iAllCnt = 0 To objAll.Length - 1
Debug.Print objAll(iAllCnt).outerHTML
Next
で出てくる内容と
実動作でIEの右ボタンクリック→ソースの表示で出力した内容が
違うので

直接VBAで実動作の通りに右ボタンクリック→ソースの表示の内容をテキストファイル化
をさせる方法の質問です。

投稿日時 - 2019-11-12 14:00:56

あなたにオススメの質問