DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ブラウザの確認メッセージを表示させない方法

環境/言語:[WindowsXP / VB2005]
分類:[.NET]

CreateObject("InternetExplorer.Application") でウェブ上のデータを取得するプログラムを作成しているのですが
ブラウザの設定によっては「通常使用するブラウザ」の確認メッセージが表示されたり
SSL のサイトに遷移した時に「セキュリティの警告」メッセージが表示されたりします。
ブラウザを表示しないでバックグラウンドで処理したいので
これらのメッセージを表示させたくないのですが
非表示にすることは出来るのでしょうか?


Private WithEvents IE As SHDocVw.WebBrowser

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

IE = CreateObject("InternetExplorer.Application")
IE.Visible = False
IE.Navigate("https://hoge.com/")

'「.Busy = False」まで待機
'「Not .Document Is Nothing」まで待機
'「.Document.readyState = "complete"」まで待機

Dim strHTML As String = IE.Document.body.innerHTML

'正規表現で目的の文字列を取得

IE = Nothing

End Sub


Excel だと DisplayAlerts で確認ダイアログを表示させないことが出来ますが
同じようなことが InternetExplorer.Application でも出来るのでしょうか。

宜しくお願い致します。
■No23447に返信(makoさんの記事)
> ブラウザを表示しないでバックグラウンドで処理したいので

であれば、ブラウザを使うべきでは無いと思いますよ。

ページ内のスクリプト等を実行させなければならないのであれば仕方ありませんが、
HTML(なのかな?)のデータを取得するだけならば、ここ(dobon.net)のサイトにある
[.NET Tips] - [インターネット] のサンプルなどを利用されては如何でしょう。
2008/12/06(Sat) 08:47:57 編集(投稿者)
2008/12/01(Mon) 16:22:39 編集(投稿者)

早速の回答ありがとうございました。

> であれば、ブラウザを使うべきでは無いと思いますよ

つまりブラウザを使う限りは無理ということですね。


> ページ内のスクリプト等を実行させなければならないのであれば仕方ありませんが、

フォームにIDとパスワードを入力してログイン
ページ遷移
リストボックスなど設定をして実行
結果が表示されるのでデータ部分を取り出してCSVファイルにする
ということを業務でやっているのですが
これをマクロ的にできないかと調べて
一応出来たのですが、各人のブラウザの設定で
メッセージが表示されて「OK」をクリックしないと先に進まないので
何とかならないかといろいろ調べたのですが、私のスキルでは解決出来ず質問しました。

取り敢えず「今後この警告を表示しない」にチェックをするということで対応します。

ブラウザを使わないで実現出来るか、もう少し頑張って調べてみます。

ありがとうございました。
ブラウザを使わないと、ページ内のスクリプトが実行出来なかったり
「クッキーに書き込めませんでした」等のエラーになってしまってうまくいきませんでした。

■No23449に返信(魔界の仮面弁士さんの記事)
> ■No23447に返信(makoさんの記事)
>>ブラウザを表示しないでバックグラウンドで処理したいので
>
> であれば、ブラウザを使うべきでは無いと思いますよ。

この文章でメッセージを出さなくすることは出来ないと勝手に思ってしまったのですが
やはりブラウザを使う以上、確認メッセージを出さなくすることは無理なのでしょうか?

一旦解決済みにしていましたが、この点を確認させて下さい。(教えて下さい)
宜しくお願い致します。
2008/12/06(Sat) 08:48:41 編集(投稿者)

どなたからもコメントを頂けないので
解決済みにします。

こうすればよそで質問してもマルチポストにならないですよね!?
■No23462に返信(makoさんの記事)
> どなたからもコメントを頂けないので
> 解決済みにします。
>
> こうすればよそで質問してもマルチポストにならないですよね!?

マルチポストになるかならないか以前の問題として、残念ながらルール違反となってしまいます。「書き込みのルールについて」に「解決していない質問のスレッドを「解決済み」にしないでください。」というルールがあります。

この掲示板の目的の一つは、情報の共有です。makoさんがおやりになろうとしていることは、形式的にマルチポストを避けようとする行為であり(これでマルチポストが避けられるかは別ですが)、「自分の問題さえ解決すればよい」という考え方に基づく行為のように思えてしまいます。情報の共有のためにも、別の掲示板に投稿する場合は、どこに投稿したのかをご報告いただけますように、お願いいたします。
> マルチポストになるかならないか以前の問題として、残念ながらルール違反となってしまいます。「書き込みのルールについて」に「解決していない質問のスレッドを「解決済み」にしないでください。」というルールがあります。

申し訳ありません。

「解決していない質問のスレッドを「解決済み」にしないでください。」というルールを見逃していました。

また、他の掲示板への書き込みもしていません。
もしすることがあれば規約に則って行います。
makoさん

IEにこだわる必要がないのであれば、
webBrowserコントロールを使うことで実現できないでしょうか?
■No23478に返信(きいよさんの記事)
> makoさん
>
> IEにこだわる必要がないのであれば、
> webBrowserコントロールを使うことで実現できないでしょうか?
>


きいよ様

ありがとうございます。
ちょっと頭が固かったようです。

IEに拘っているわけではなく、単に他の方法を考えるという
柔軟性がなかっただけです。

webBrowserコントロールでやってみます。

ありがとうございました。
webBrowserコントロールを使うことで思い通りに出来ました。

きいよ様
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板