• ベストアンサー

Internet Explorer にURLを引き渡す方法教えてください。

VB6のshell関数でInternet Explorerを起動し、Internet Explorerが起動するときに表示するページのURLをInternet Explorerに送る方法ご存知の方教えてください。 Internet Explorerの起動は出来たのですが、URLを送る方法が分かりません。 WebBrowserを使ってVB6のフォーム上では表示しようとするホームページのURLの記述が出来ますが、VB6のフォーム上で表示したくない事情があります。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>VB6のフォーム上で表示したくない事情があります。 何処に記述されたURLを送るのでしょうか? どこかしらには記述してあるのでしょうか? これではだめなのですよね、、、 Microsoft.VisualBasic.Shell("explorer.exe http://google.co.jp")

kobamasa
質問者

お礼

早速の回答有難う御座いました。 すぐこの方法を試してみました、私が希望していた通りの動作をしました。 VBのフォーム上に表示したくない事情は次のような事情によるものです。 アクセスしたいサイトにログイン、パスワード暗証番号などの入力を簡単に行うために、デスクトップ上のアイコンをクリックしたら、 1:Internet Explorerを起動、同時に希望するサイトにアクセスする。 2:ファイルからID、暗証番号などをロードし、クリップボードにはりつける。 3:クリップボードの内容をサイトのログイン画面の入力欄に貼り付ける。 4:ログイン後はこのプログラムを終了しInternet Explorerだけを動作させている状態にする。 という理由によるものです。複数のプログラムを起動していると動作が不安定になる傾向があるためです。 また、銀行の暗証番号などをセキュリティボックスなど使って入力するのは間違いやすく何回もまちがえるとロックがかかってしまいます。 すぐの回答大変有難う御座いました。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

やるとすれば AppActivateとSendkeysを組み合わせる方法でしょう Shell関数の戻り値を記憶しているなら AppActivate nID などで IEをアクティブにします 記憶していないのであれば IEのタイトルバーの文言を使って AppActivate "MSN Japan - Microsoft Internet Explorer" といった具合にします アドレスバーがあるなら ALT+Dでフォーカスを移動できますので SendKeys "%d",true でアドレスバーに入力可能な状態になります SendKeys "http://www.goo.ne.jp{ENTER}",true などとしてやれば良いかと思います Shell関数で起動直後は IEの準備がまだ整っていないので AppActivateや SendKeysは失敗します On Error Resume Next Do   AppActivate nID loop while Err.Number on error goto 0 Sendkeys "%d",true SendKeys "http://www.goo.ne.jp{ENTER}",true といった具合で エラートラップを仕掛けてみましょう なお Sendkeysはアクティブなウィンドウに対してキー入力の送信を行います タイマーなどで割り込まれたウィンドウがアクティブになってしまった場合他のウィンドウに対してキー入力を行ってしまうのでこの点に注意しましょう 私なら IEをオブジェクトとして起動して これのNavigateまたはNavigate2メソッドを使います dim oIE as Object Set oIE = CreateObject("InternetExplorer.Application") oIE.Visible = TRUE oIE.Navligate2 "http://www.goo.nme.jp" といった具合です

kobamasa
質問者

お礼

詳しい、説明、解説有難う御座いました。 今後、この方法でプログラミングしてみたいと思います。 大変有難う御座いました。

関連するQ&A