tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: IEのアドレスバーにSendMessage
投稿日: 2012/07/13(Fri) 09:47
投稿者魔界の仮面弁士
> 投稿者 : boze
boze さんは、Boze さんと同じ方なのですよね?


>>> 環境:VB6.08 WindowsXP SP3
>> それはどのような製品ですか?
> 僕の見るところがおかしいのでしょうか?
具体的には、どの部分を見ておられますか?

メモ帳の話のときにも書きましたが(No.15518)、私は
「VB6.08」というバージョンを見たことがなく、google 等で
検索しても、Bozeさんの投稿しか見当たりませんでした。

".08" という部分は、どこに記載されていたものなのか、
後学のために教えていただけないでしょうか。よろしくお願いします。


> ShellWindowsコレクションで列挙した後どうやってURLを設定するかわからず、
Navigate メソッドもしくは Navigate2 メソッドを利用してみてください。


> 今回の場合、どうやってググれば答えにたどり着けたのでしょうか?
操作対象が IE なので、まず調査すべき内容としては
InternetExplorer オブジェクトの仕様に関してかと思います。

http://msdn.microsoft.com/en-us/library/aa752084%28VS.85%29.aspx

公式資料(米語)が上記にありますが、利用者が比較的多い有名なオブジェクトであり、
日本語で解説された資料も多数存在します。VB6の他、VBScript や VBA 等からも
良く利用されておりますので、『InternetExplorer オブジェクト』というキーワードで
再度調査してみてください。下記なども参考になるかと思います。
http://www.ken3.org/cgi-bin/group/vba_ie.asp


で、IE そのものを起動する場合には、
 Dim IE As Obejct
 Set IE = CreateObject("InternetExplorer.Application")
 IE.Visible = True
のようにします。“Microsoft Internet Controls”を参照設定している場合には、
 Dim IE As InternetExplorer
 Set IE = New InternetExplorer
 IE.Visible = True
のように書くこともできます。参照設定時は IntelliSense による
入力補完が働くので、プロパティやメソッドを探すのも楽でしょう。

そのメンバーを一つ一つ見ていけば、"URL" という名前の引数をとる物が
2 つ見つかるかと思いますが、それが、 Navigate / Navigate2 メソッドです。

 IE.Navigate "http://hanatyan.sakura.ne.jp/"


IE を起動したらば、当然、URL の指定も必要になりますから、google 等で
見つかるサンプルの多くも、このメソッドを使っているかと思います。


そして、新規に IE を起動するのではなく、既に起動済みの IE を
列挙する場合に使うのが ShellWindows コレクションとなりますが、
こちらは既に御存知なのですよね。



> LocalURLに値を代入するとか
LocationURL プロパティの事でしょうか? (LocalURL というプロパティは見たことがありません)

参照設定時にオブジェクト ブラウザ(開発環境でF2キー)を表示させてみると、
| Property LocationURL As String
|     読み取り専用
|     SHDocVw.InternetExplorer のメンバー
|     Gets the full URL/path currently viewed.
などと書かれていますので、これは URL を指定するためのものだと分かりますね。


> Runコマンド等を試しましたがErrorが出たので使用できないと
「Run コマンド」(≠Run メソッド、Run プロパティ、Run ステートメント)とありますが、
この Run というコマンド名は、どこから思いついた(or どこに書かれていた)キーワードでしょうか?

IE で[コマンド]といえば、ExecWB メソッドや Document.ExecCommand メソッドが
思い浮かびますが、"Run" というコマンドは無かったように思います。

VB6 自体にも Run プロパティ/Run メソッド/Run ステートメント/Run 関数は存在しませんし
(Access VBA には Application.Run メソッドがありますが)、また、今回操作対象となる
InternetExplorer 自体にも Run と名のつくメンバーは用意されていないはずです。


> ShellWindowsコレクションで開いているURLを取得まではたどり着けましたが、
> 逆にURLを送るとなるとSendKeysかSendMessageしか出てきませんでした。
なるほど、そうでしたか。たどり着けなかったにしても、どのように調査したのかという
具体的な情報があると状況が把握しやすいので、回答する側としても助かります。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。