3

Excel VBA (Excel 2010、Windows 7) から IE8 を自動化しています。

Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate2 URL

URL が IE 保護モードがオンになっているゾーン内の Web サイトである場合、すべて問題ありません。

URL が IE 保護モードがオフになっているゾーンの Web サイトである場合、スクリプトは失敗します (IE が自動的に表示されるようになり、VBA で IE オブジェクトが失われます - オートメーション エラー)。

プロテクトモードがオフのゾーンでnavigate2を有効にする方法はありますか?

4

2 に答える 2

11

あなたがしたいことは、中程度の整合性で実行されている IE のインスタンスを作成し、それをナビゲートすることです。通常、CoCreateInstance(CLSID_InternetExplorerMedium) を使用してこれを行います。現在、この CLSID を指す ProgID はありませんが、簡単に作成できます。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\InternetExplorer.ApplicationMedium]

[HKEY_CLASSES_ROOT\InternetExplorer.ApplicationMedium\CLSID]
@="{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}"

次に、このオブジェクトを次のように呼び出すことができます。

CreateObject("InternetExplorer.ApplicationMedium")

ここでもう少し詳しく説明します: http://blogs.msdn.com/b/ieinternals/archive/2011/08/03/internet-explorer-automation-protected-mode-lcie-default-integrity-level-medium .aspx

于 2011-08-02T13:01:35.137 に答える
8

CLSIDによるInternetExplorer.ApplicationMediumの取得:

Set IE = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")
于 2011-08-03T21:47:01.467 に答える