Dim IE as New InternetExplorer
IE.Visible = True
IE.Navigate("http://www.google.com")
Do Until IE.Busy = False
Loop
IE.document.getElementsByTagName("Input")(3).Value = "Search Term"
IE.document.Forms(0).Submit <------ This line results in error.
エラーは、実行時エラー 70 を示しています: '許可が拒否されました'
コードの変更を提案しないでください。コードに問題はありません。このマクロは、10 台中 9 台のコンピューターで動作します。これはタイミングの問題ではありません (手動でステップスルーしてもエラーが発生します)。Internet Explorer オブジェクトを宣言する方法が他にもあることは知っています。私は CreateObject などを使ってみました。どれも重要ではありません。管理者として実行しても役に立ちません。
これは問題の単純な例です (実際にはもっと複雑なタスクを自動化しています)。ですから、「なぜ良い検索をしたいのですか?」と聞かないでください。「何をしようとしているのか」と聞かないでください。この問題を解決する必要があります。コードを書き直す必要はありません。
私たちは、Windows XP、Internet Explorer 7、および Office 2003 を使用しています。インターネット エクスプローラーを自動化できない人が何らかの原因で発生しています。これはユーザーの問題ではなく、コンピュータの問題です。私が言いたいのは、犯人のコンピューターでは、どのユーザーがログインしても誰も自動化できないということです。しかし、同じユーザーが別のコンピューターを使用することはでき、すべて問題ありません。したがって、ローカル マシンのレジストリ設定などである可能性があります。ここでは、すべてのコンピューターが同じようにセットアップされ、同じ仕様、同じソフトウェアが使用されています。
私はググってググってググってググった。残念ながら、実行時エラー 70 はすべてをキャッチしているようで、多くのユーザーがさまざまな症状でエラーを報告しています。私の場合、解決策が見つかりませんでした。それ以外の場合は、ここで質問しません。
これを解決できる唯一の方法は、IT 部門にハード ドライブ上のすべてのデータを完全にリロードさせることです。オペレーティング システムを含むクリーン リフレッシュ。これで問題は解決しますが、ユーザーはマシンを以前の状態に再設定し、すべてのソフトウェアとすべてを再インストールする必要があります。それは良い解決策ではありません。これを引き起こしているマシンのどこかに設定があるか、リフレッシュしても効果がありません。その設定が何であるかを知りたいです(私の気持ちはレジストリ設定です)。
どんな助けでも大歓迎です、ありがとう。