Windows7 SP1、 IE11です。
以下のVBスクリプトで、①を消して②を書いたときは動くのですが、
②を消して、①を書いたときはエラーになります。
http://syanai.co.jp/は、社内イントラのサイトです。
エラーは、Visibleをアクセスした行に対して、
「そのインターフェイスは認識されません。コード:800706B5」
Set objIE = CreateObject("InternetExplorer.Application")
①objIE.Navigate2 "http://syanai.co.jp/"
②objIE.Navigate2 "http://www.yahoo.co.jp/"
WScript.Sleep 5000
objIE.Visible = True
社内イントラのサイトに対して、Visibleを使いたいのですが、
何かうまい手はないでしょうか?
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
同じ環境が作れないので・・・。
こんな情報がありました。
IEのオブジェクトをCreateObjectではなく、GetObjectで作成する。
以下、サンプルです。
ClsIDの値ですが、レジストリの情報で、
\HKEY_CLASSES_ROOT\InternetExplorer.Application\CLSID
の値を設定します。
------ 以下サンプル -------------
Const ClsID = "{0002DF01-0000-0000-C000-000000000058}"
Dim objIE
Set objIE = GetObject("new:" & ClsID)
objIE.Navigate2 "http://syanai.co.jp/"
WScript.Sleep 5000
objIE.Visible = True
No.4
- 回答日時:
愚問ですが、「ローカルイントラネット」の「サイト」も設定されていませんよね?
海外のサイトにも同様の問題が提起されていましたが、残念ながら解決に至るものがみつかりませんでした。
あと、以下を試してみてください。
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate2 "http://syanai.co.jp/"
Do While objIE.Busy = True Or objIE.ReadyState <> 4
WScript.Sleep 100
Loop
objIE.Visible = True
お恥ずかしいですが、まさに「愚問」に該当してしまいました。ローカルイントラネットからサイトを外すと、Visibleにアクセスできるようになりました。しかし、*.kaisya.co.jpという形で入っておりまして、社内システムもいろいろあるので、この指定を削除するわけにはいきません。watashi-no-server.kaisya.co.jpだけは、ローカルイントラネットの例外にするというような都合のよい指定はできないものでしょうか?
あと、ローカルイントラネットに*.kaisya.co.jpが指定されている場合、試すように指示していただいたコードでも、やはり、Visibleはアクセスできませんでした。
No.3
- 回答日時:
AN-2です。
申し訳ない、エクセルVBAと勘違いVB6までは VB使ってたんですが、.netフレームに成って、VB長らく使って無くて
IEに関して、どうかわかりかねますが
http://pckowaza.web.fc2.com/html/vbdotnet_config …
ってことなんですが・・・
要は、IEのモジュールを使う訳ですが、そのモジュールのいる場所がマシンによって変わる、無い時はインストルー作業で、dllを送り込む(その時に権利が有るとかないとか・・・)
ってことなんですが、この辺がVBのめんどくさいところで・・・・
No.2
- 回答日時:
>VisibleをアクセスしてもエラーにならないPCがあります。
同じコードに対して、動くPCと そうでない PCが有るという事ですか?
それと、前提として、単独でIEを起こして、社内ページは表示できるのですね?
エラーの出るPCで、参照設定の htmlとコントロール オブジェクトを 外して 保存。
開いて、先ほど消したオブジェクトを参照する。
これで、コードを走らせてみてください。
これで、治れば、本来エクセルのVBAは VBなどと違って、インストール作業がなく、他のマシンに移植する時、楽なのですが・・・・この参照設定が 曲者で・・・・
これは、当方でも起きている問題です。
回答ありがとうございます。
同じコードに対して、動くPCとそうでないPCがあります。
単独でIEを起動すれば、社内ページは表示できます。
「参照設定の htmlとコントロール オブジェクトを外して保存。開いて、先ほど消したオブジェクトを参照する。」というのは、
私が質問に記述したコードで、①や②の行を削除して、保存して、実行することなのでしょうか?たいへん申し訳ないのですが、おっしゃることが理解できません。もう少し、説明をしてくださらないでしょうか?よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAで NHK NEWSの NEWSデータ内容取得が できない 1 2023/04/09 12:26
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/06/19 10:08
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/03/25 08:33
- Visual Basic(VBA) Worksheets メソッドは失敗しました。のエラー処理のやり方 4 2022/05/29 21:29
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- Visual Basic(VBA) EXCELのセル相互同期用のVBAでの不具合 3 2022/08/10 11:44
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
- その他(プログラミング・Web制作) VBSでExcelファイル起動時、重複しても開くのを止めたい 1 2022/10/01 23:20
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
VBAで Set wb = Sheets(1).Cop...
-
エクセルVBAでcode128のバー...
-
横軸ラベルの追加に関するエラ...
-
エクセルのVBAの標準モジュール...
-
VBAについてです。 初心者です...
-
オブジェクト変数の取得について
-
[VBA]CDOメッセージ送信エラー
-
オブジェクトが見つかりません
-
マクロ初心者です。 インデック...
-
VBScriptでファイルの日時順(降...
-
ExcelのVBAについて(グラフ操作)
-
アクセスにてオブジェクト名変...
-
Access VBAとExcel VBAとはどの...
-
C#でオブジェクトの配列を使う
-
オブジェクト名が同じ図形の変更
-
VBAからPDFファイルにパスワー...
-
VBAで作成するメール(開封確認...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
Excelでフィルタをかけると警告...
-
VBAで既に開いている別アプリケ...
-
エクセルマクロエラー「'Cells'...
-
テキストボックス中の文字列の...
-
VBAで Set wb = Sheets(1).Cop...
-
ある文字列が全て数字であるか...
-
VBAからPDFファイルにパスワー...
-
VBScriptでファイルの日時順(降...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
エクセルVBAで2つの画像を比較...
-
PowerPointVBAでスライドマスタ...
-
UserForm1.Showでエラーになり...
-
上下の位置揃えについて
-
VBAについてです。 初心者です...
-
VBAで作成するメール(開封確認...
おすすめ情報
信頼済みサイトには、社内イントラのサイトは入れておりません。