下記コードのような、Internet Explorerを操作する簡単なマクロを実行したところ、ReadyStateプロパティの値を取得しようとした時点でシステム エラーやオートメーション エラーが発生しました。
Public Sub Sample() Const READYSTATE_COMPLETE = 4 With CreateObject("InternetExplorer.Application") .Visible = True .Navigate "https://ja.wikipedia.org/wiki/" Do While (.Busy = True) Or (.ReadyState <> READYSTATE_COMPLETE) Sleep 100 Loop Stop End With End Sub
システム エラーです: &H80010108 (-2147417848) 起動されたオブジェクトはクライアントから切断されました。
実行時エラー ‘-2147417848 (80010108)’:
オートメーション エラーです。
起動されたオブジェクトはクライアントから切断されました。
インターネットオプションを確認したところ、“目的のURLが「信頼済みサイト」に登録されていたことが原因”で、外したらすぐにエラーが発生しなくなりました。
何年か前にも同じことが原因で引っ掛かったことがありましたが、すっかり忘れていました・・・。
これからは忘れないように、対応策をメモしておきます。
関連Webページ
- そのインターフェイスは認識されません。エラーを特定できません80004005。VBSバグ | heipooh’s 日記
- http://heipooh.jugem.jp/?eid=140
- 信頼済みゾーンのサイトでIEオブジェクトが動かない – valid,invalid
- http://ohbarye.hatenablog.jp/entry/2014/07/11/220700
- yuwji.blogspot.jp: VBS+IEでNavigate後、エラーを特定できませんエラー
- http://yuwji.blogspot.jp/2014/08/vbsienavigate.html
- IEを操作していたVBAがIEのバージョンアップで動かなくなった時に試してみてください | 斜め上ニュース
- http://nanameue-news.com/2014/07/27/312/
- 「ExcelからIEの起動」(1) Insider.NET - @IT
- http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=42957&forum=7
上記関連Webページを見る限り、「信頼済みサイト」の設定でも上手くいかない場合は、
- 「管理者権限」で実行する。
- 「保護モードを有効にする」をオン・オフする。
といった方法も試すと良さそうです。
この記事へのコメントはありません。