ショボ短歌会

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

A 回答 (2件)

>VB6のフォーム上で表示したくない事情があります。


何処に記述されたURLを送るのでしょうか?
どこかしらには記述してあるのでしょうか?

これではだめなのですよね、、、

Microsoft.VisualBasic.Shell("explorer.exe http://google.co.jp")
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/11/17 16:23

やるとすれば 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"
といった具合です
    • good
    • 1
この回答へのお礼

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

お礼日時:2007/11/17 16:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!