質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

9468閲覧

VBAによるブラウザを開かないWEBスクレイピング時に表示されるメッセージの抑止方法

fkd4650

総合スコア12

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

1クリップ

投稿2016/10/04 07:59

編集2016/10/04 21:46

御覧頂き有難うございます。ぜひご助力の程よろしくお願い致します。
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)

〚質問〛
上記のメッセージの表示を抑止する、または操作してメッセージを消し、
フォーカスを戻してプログラムの実行を止めないようにするには、どうしたら良いのでしょうか?
ご教授の程、何卒よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

IEのセキュリティ設定を変更することになりますが、以下は参考になりますでしょうか?
⇒参考サイト

もしくは、セキュリティの警告は信頼済みサイトでないことが問題なのであれば、以下の情報が役に立つかもしれません。
⇒参考サイト

確認環境がないため、あてずっぽうで申し訳ありませんが、参考になれば幸いです。

投稿2016/10/05 09:55

編集2016/10/05 10:05
jawa

総合スコア3013

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fkd4650

2016/10/05 22:36

ご回答ありがとうございます。 IEのセキュリティについては私も試してみたのですが、特に変化がなかったです。 ディレクトリ登録についてはまったく思いもよらなかったので、大変参考になります。 VBA以外の言語も視野に入れて試してみたいと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問