@IT会議室 新規書き込み停止(2012年10月9日)のお知らせ
@ITの会員制度「@ITクラブ・メンバーシップ」(@ITクラブ)は、10月9日より、弊社が運営するメディアの共通会員制度である「アイティメディアID」へ移行することになりました。これに伴い、@ITクラブのサービスの一部を変更させていただきます。
@IT会議室については、2012年10月9日をもって新規書き込みを終了いたしました(閲覧は引き続き可能です)。今後、質問や回答などは「QA@IT」(http://qa.atmarkit.co.jp/)をご利用くださいますよう、お願い申し上げます。
@ITの会員制度「@ITクラブ・メンバーシップ」(@ITクラブ)は、10月9日より、弊社が運営するメディアの共通会員制度である「アイティメディアID」へ移行することになりました。これに伴い、@ITクラブのサービスの一部を変更させていただきます。
@IT会議室については、2012年10月9日をもって新規書き込みを終了いたしました(閲覧は引き続き可能です)。今後、質問や回答などは「QA@IT」(http://qa.atmarkit.co.jp/)をご利用くださいますよう、お願い申し上げます。
IEを既定としない状態でも開くようにする。
2010-03-01 15:31
お世話になっております。
以前、IEが開いていたら、新しいタブで開くするにはどのようにすればよいか?
という質問をし、下記のようなコードを書きました。
Dim ShellWindows As Object
ShellWindows = GetObject("new:9BA05972-F6A8-11CF-A442-00A0C90A8F39")
For Each IEWEB As Object In ShellWindows
IEWEB.Navigate(arg1, &H800)
Exit For
Next
最初にテストした段階では、うまくIEが開いていたら新しいタブ開いていたのですが、
他のPCでテストしたところ、FireFoxで新しいタブを開いてしまいました。
原因はIEを既定としていなかったからです。
IEを既定としていない状態でもIE操作するにはどのようにすればよろしいでしょうか。
新規でIEを立ち上げる方法は分かりますが、IEを指定し、新しいタブで開く方法が思いつきません。
GetObjectの指定をIEにすればできるのでは?
と思い、色々ググッてみて、
GetObject("internetexplorer.application")
とかを試してみたのですが、動作自体しませんでした。
困っています。ご教授お願いいたします。
以前、IEが開いていたら、新しいタブで開くするにはどのようにすればよいか?
という質問をし、下記のようなコードを書きました。
Dim ShellWindows As Object
ShellWindows = GetObject("new:9BA05972-F6A8-11CF-A442-00A0C90A8F39")
For Each IEWEB As Object In ShellWindows
IEWEB.Navigate(arg1, &H800)
Exit For
Next
最初にテストした段階では、うまくIEが開いていたら新しいタブ開いていたのですが、
他のPCでテストしたところ、FireFoxで新しいタブを開いてしまいました。
原因はIEを既定としていなかったからです。
IEを既定としていない状態でもIE操作するにはどのようにすればよろしいでしょうか。
新規でIEを立ち上げる方法は分かりますが、IEを指定し、新しいタブで開く方法が思いつきません。
GetObjectの指定をIEにすればできるのでは?
と思い、色々ググッてみて、
GetObject("internetexplorer.application")
とかを試してみたのですが、動作自体しませんでした。
困っています。ご教授お願いいたします。
コメント
良くは分かりませんが、まず、IE のウィンドウは列挙できていて FireFox を捉えているわけではないような気がします。たとえば IEWEB.Name は "Microsoft Internet Explorer" のような文字列ですか?それとも "FireFox" のような文字列になってますか?
おそらく列挙して取得した IE に対して Navigate しても、IE が使われずに既定のブラウザーが使われてしまう状況なのだろうと思います。私は Navigate の &H800 の引数の仕組みなどは分からないので、これ以上は分かりませんが。
(もしも IEWEB.Name が "FireFox" になるような状況ならば、お考えのように IE を起動すれば良いのかもしれません。たとえば CreateObject("InternetExplorer.Application") のような感じで。)
おそらく列挙して取得した IE に対して Navigate しても、IE が使われずに既定のブラウザーが使われてしまう状況なのだろうと思います。私は Navigate の &H800 の引数の仕組みなどは分からないので、これ以上は分かりませんが。
(もしも IEWEB.Name が "FireFox" になるような状況ならば、お考えのように IE を起動すれば良いのかもしれません。たとえば CreateObject("InternetExplorer.Application") のような感じで。)
