御覧頂き有難うございます。ぜひご助力の程よろしくお願い致します。
VBAは独学でつまみ食い的な勉強をしてしまっているため、基本的なことも
分かっていなかったり間違って覚えてしまっていることもあると思います。
不明な点や間違っている点につきましてもご指摘を頂ければ幸いです。
〚実現したいこと〛
・不特定多数のWEBサイトのタイトルタグやh1タグなどの要素を抜き出す。
※ブラウザは開かない
※不特定多数のURLはその都度こちらがリストを用意
〚現状〛
OS:Windows10
Excel:2010
Windowsのインターネットオプション
対象URL例:http://siromonoblog.com/?p=306
現在のコードは以下の通りです。
Sub test()
Dim H As Long Dim oHTML As MSHTML.HTMLDocument Dim doc As MSHTML.HTMLDocument Dim url As String
For H = 1 To 12
url = Sheets("URLリスト").Cells(H, 1)
Set oHTML = New MSHTML.HTMLDocument ' セキュリティ警告を抑止する oHTML.designMode = "on" '↑これでcookieの設置に関するセキュリティの警告は抑制できた。 Set doc = oHTML.createDocumentFromUrl(url, vbNullString) Do DoEvents If (doc.readyState = "complete") Then Exit Do End If Loop While (True)
On Error Resume Next
Sheets("結果").Cells(H + 1, 3) = doc.all.tags("title")(0).outerHTML
On Error Resume Next
Sheets("結果").Cells(H + 1, 4) = doc.getElementsByName("keywords")(0).Content
On Error Resume Next
Sheets("結果").Cells(H + 1, 5) = doc.all.tags("h1")(0).outerHTML
On Error Resume Next
Sheets("結果").Cells(H + 1, 6) = doc.getElementsByName("description")(0).Content
Set doc = Nothing Set oHTML = Nothing
Next H
End Sub
上記のコードで、ブラウザを開かずに問題なく要素の抜き出しができるサイトと、セキュリティの警告メッセージが表示されてそちらにフォーカスが移り、プログラムが止まってしまうサイトがあります。
cookieの設置に関するメッセージは「.designMode = "on"」で抑止できるようになったが、後述するメッセージは抑止できません。
〚現状、抑止できていないメッセージ〛
セキュリティの警告
このWebサイトのIDまたはこの接続の完全性を確認できません。
✔このセキュリティの証明書は、信頼された証明期間から発行されています。
✔このセキュリティ証明書の日付は有効です。
!セキュリティ証明書の名前が無効であるか、またはサイト名と一致しません。
続行しますか?
はい(Y) いいえ(N) 証明書の表示(V)
〚質問〛
上記のメッセージの表示を抑止する、または操作してメッセージを消し、
フォーカスを戻してプログラムの実行を止めないようにするには、どうしたら良いのでしょうか?
ご教授の程、何卒よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/05 22:36