ExcelからのI.E.操作の時にひっかかった点があったので備忘録として書き残しておきます。
ExcelからI.E.操作をするよう以前にマクロを作成して活用していました。
ある日、急にそれまで使用出来ていたマクロでエラーが出て止まるようになってしまいました。
エラーはオートメーションエラーというエラーでした。
いろいろと調べていったところ、「I.E.のインターネットオプションのセキュリティ設定」が絡んでいるということがわかりました。
「I.E.のインターネットオプションのセキュリティ設定」は、
右上の「歯車マーク」選択→「インターネットオプション」選択→「セキュリティ」タブ選択します。
そうすると、以下のようなウインドウが表示されていると思います。
ここで、上部の「インターネット」「ローカルネット」「信頼済サイト」「制限付きサイト」を選択すると、それぞれのセキュリティ内容の設定ができます。
この中の下部の「保護モードを有効にする」を有効にするかどうかが関わってきました。
自分の場合は、この中の「ローカルネット」「信頼済サイト」での「保護モードを有効にする」にチェックが入っておらず有効になっていませんでした。
この状態で、I.E.インスタンス作成時に、
ie = CreateObject("InternetExplorer.Application")
のような作成の仕方をした場合にエラーが発生していました。
結果的には、
(1)
「ローカルネット」「信頼済サイト」の「保護モードを有効にする」をチェックなし
の場合、
I.E.インスタンス作成では、
ie = CreateObject("InternetExplorer.ApplicationMedium")
または
ie = New InternetExplorerMedium
とすることで、整合性が中レベルとなりこの状態でインスタンスが作成され動作可能となるようです。
(2)
「ローカルネット」「信頼済サイト」の「保護モードを有効にする」をチェックあり
の場合、
I.E.インスタンス作成では、
ie = CreateObject("InternetExplorer.Application")
または
ie = New InternetExplorer
で、整合性が低レベルとなりますがこの状態でインスタンスは作成され動作するようです。
詳しくは以下に説明の記載がありました。
関連記事:
【selenium 備忘録】ボタンクリックで複数の新規ウインドウを開いた時新規ウインドウをアクティブにできなかった場合の対処方法例 - Django Girls and Boys 備忘録
【python】実行ファイル(EXEファイル)作成手順 - Django Girls and Boys 備忘録
【Python カレントディレクトリ取得】Excelファイル指定を使った簡単な例記載 - Django Girls and Boys 備忘録
【Pythonでopenpyxlを使用したExcelファイルの読み書き方法】xlsmファイル(マクロありファイル)の場合 - Django Girls and Boys 備忘録
【PythonでのExcelファイル読み書き方法】ファイルオープンしているファイル(アクティブファイル)への書込方法 - Django Girls and Boys 備忘録
【Python Selenium】Webサイトのスクレイピングなどで必要なフレーム間移動方法 - Django Girls and Boys 備忘録
【Python Selenium】Webサイトのスクレイピングなどで必要なフレーム間移動方法 - Django Girls and Boys 備忘録
【PythonからWeb操作】selenium、各ブラウザ用ドライバーの最新バージョン確認、ダウンロード場所 - Django Girls and Boys 備忘録
【Python Selenium】ブラウザ用ドライバーのダウンロードとインストール - Django Girls and Boys 備忘録
【Python Selenium】ブラウザ用ドライバーのインストール、設定とWebサイトへのアクセス方法 - Django Girls and Boys 備忘録
【ExcelマクロからのI.E.操作】I.E.のセキュリティに絡むエラー発生時の対応方法 - Django Girls and Boys 備忘録
【Excel 名前の定義】「名前"○○○"は既に存在します。この名前にする・・・」のメッセージ表示を解決する方法 - Django Girls and Boys 備忘録