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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA:オートシェイプの線の長...
-
(初心者です)VBAについて。「実...
-
ステップインで実行しても中断...
-
worksheetFunctionクラスのVloo...
-
sheetsメソッドの失敗
-
実行時エラー 3265「要求された...
-
「Columns("A:C")」の列文字を...
-
リストボックスの値を選択
-
「オブジェクト変数または With...
-
VBで引数にDictionaryオブジェ...
-
VBScriptでCSVファイルのデータ...
-
VB2008 エクセル出力
-
Crystal report を 8.0 から 6....
-
Excel VBA Collection.add で R...
-
エクセルVBA
-
Excel VBAでIEにアクセスするプ...
-
PowerPointVBAでスライドマスタ...
-
VB6からVC6で作成したDLLの関数...
-
EXCELに接続 DAOで
-
INPUT type=file で出るダイア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
EXCEL VBA オートシェイプナン...
-
VBAからPDFファイルにパスワー...
-
VBAで Set wb = Sheets(1).Cop...
-
ある文字列が全て数字であるか...
-
PowerPointVBAでスライドマスタ...
-
[VBA]CDOメッセージ送信エラー
-
AccessVBAで「dim dbs as datab...
-
VBAで作成するメール(開封確認...
-
VBからPDFファイル自動生成...
-
上下の位置揃えについて
-
ExcelVBAでのNZ関数について
-
テキストボックス中の文字列の...
-
エクセルマクロエラー「'Cells'...
おすすめ情報
信頼済みサイトには、社内イントラのサイトは入れておりません。