起動したIEのウインドウタイトルを取得する方法

このQ&Aのポイント
  • WindowsXP+VB.NET環境で、IEを起動し、ウインドウのタイトルを取得する方法を教えてください。
  • WEBサイトで調べていたら起動中の全プロセスのものを全て表示する方法はあったのですが、起動したIE限定で取得したいです。
  • IEをCreateObjectで起動した後にIE.Navigateで移動できる方法を教えてください。
回答を見る
  • ベストアンサー

起動したIEのウインドウタイトルを取得する方法

こんばんは。WindowsXP+VB.NET環境です。 IE = CreateObject("InternetExplorer.Application") IE.Navigate("http://www.yahoo.co.jp") でインターネットエクスプローラを起動した場合に IEのウインドウの上の部分に表示されている 「Yahoo! JAPAN - Microsoft Internet Explorer」という文字と プロセスIDとプロセス名を取得したいのですが どのようなコードを書けば良いでしょうか? WEBサイトで調べていたら起動中の全プロセスのものを全て表示する 方法はあったのですが、起動したIE限定で取得したいです。 IE.IdとかIE.ProcessName、IE.MainWindowTitleのようにしてみたのですが エラーになってしまいました。 あと、別の方法で Dim hProcess As System.Diagnostics.Process = System.Diagnostics.Process.Start("iexplore") hProcess.WaitForInputIdle() Dim pName As String = hProcess.MainWindowTitle としたら出来るようになったのですが、 起動した後に上の方法でやった時のようにIE.Navigate("http://****")で 移動したりしたいのですが、この方法で起動した場合の 方法が分からなくなってしまいました。 IE = CreateObject("InternetExplorer.Application")で起動したIEのように 操作できるようにする方法を教えて頂きたいです。よろしくお願い致します。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

GetProcessesByNameを使って名前を指定してプロセスの配列を得ることができますので、これで、IE限定でプロセスとひいてはプロセスID ・タイトルが取得できると思います。 ウインドウタイトルじゃなくて、HTMLのタイトルだったら IE.Document.Titleで取れると思います。

popopompom
質問者

お礼

ご回答ありがとうございます。 色々と便利そうなのでGetProcessesByNameというのを試してみたいと思いますが、 IE.Document.Titleでも出来そうです。 ありがとうございました。

関連するQ&A

  • 複数のタブを開きたい IE

    IE9を使っています。 画像のようにタブを二つ開くにはどうすればいいでしょうか? Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub だと一つのタブしか開けません。 Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub にしても Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" objIE.Navigate2 "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub にしても1つのタブしか開けないです。 ご回答よろしくお願いします。

  • VBscriptからIE11起動

    windows7(x64) IE11 IEを起動するスクリプトを.vbs作成しました。 vbsファイルをダブルクリックすると、↓エラーが発生するときがあります。 「 WScript.CreateObject: "InternetExplorer.Application" というオブジェクトを作成 できませんでした。」 ↓SRCです。 Dim IE Set IE = WScript.CreateObject("InternetExplorer.Application", "Event_") IE.Visible = True IE.Navigate ("http://www.yahoo.co.jp") set IE = nothing 数秒待ったり、vbsを連打すると起動します。 プロパティ(vbs右クリック)のスクリプトタブで実行時間を10秒にしてみても起動できないことがあります。 オブジェクトを作成しない方法はありますか? また、失敗している原因はなんでしょう?

  • EXCEL VBAからIEを起動する際のバージョンについて

    下記コーディングでEXCELのVBAよりIEを起動する際、IE5.0では正常に動作するのですが、他のバージョン(IE5.5等)ではうまく起動出来ません? 良い解決策があれば教えていただきたいのですが。 Dim IE As Object Dim URL As String Set IE = CreateObject("InternetExplorer.Application") URL = "ftp://XXXXXXXX/999/" With IE .Navigate2 URL .Visible = True .Height = 400 .Width = 400 .Top = 0 .Left = 0 End With Windows98/Excel2000

  • ウィンドウを最前面にできません

    VB.NETでSetForegroundWindowでウインドウを最前面に出来ないため、AllowSetForegroundWindowを使用するようにしましたが、解決できません。 コードは大体次のようになっています。 Dim hProcess As System.Diagnostics.Process = System.Diagnostics.Process.GetCurrentProcess() AllowSetForegroundWindow(hProcess.Id) Dim hWnd As IntPtr = FindWindow("XXX", "YYYYY") SetForegroundWindow(hWnd) 環境は次のとおりです。  OS: Windows 7 Pro. 64bit SP1  VB.NET: 2010 Express 解決方法をご教示頂きたく、よろしくお願いします。

  • 既に開いているIE(タイトル名はgoo)を取得したい

    環境はACCESS2000、XPです。 コードの中で 既に開いているIE(タイトル名はgoo)を インスタントしようと思い 以下のようしてみました。 Dim obj As Object Set obj = CreateObject("InternetExplorer.Application", "goo") 「リモートサーバーがないか、使用できる状態ではありません」 というエラーが出てしまいました。 どのようにすれば取得できますか?

  • VBAでIE操作をするサンプル

    VBAでIE操作をするサンプルをネットでいくつか見ているのですが Sub Sample1() Dim objShell As Object Dim objIE As New InternetExplorer Set objShell = CreateObject("Shell.Application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing Set objShell = Nothing End Sub Sub Sample2() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub ではどちらを使った方がいいのでしょうか? 圧倒的にSample2の方がネットでは多いのですが Sample1のやり方もあることを知りました。 Sample1の方法でブラウザを開くメリットはあるのでしょうか?

  • ie 64bit 32bit どちらが開いてる?

    Sub Sample() Dim objIE As InternetExplorer Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True ObjIE.Navigate "http://www.yahoo.co.jp/" Set ObjIE = Nothing End Sub で、vbaからieを開いた場合、64bit 32bitのどちらで開かれるのでしょうか? 私の環境はwin7、IE9です。

  • IEではなくファイアフォックスを指定することは

    VBAでブラウザを開く場合、 IEではなくファイアフォックスを指定することは可能ですか? 既定のブラウザはIEにしています。 Sub test1() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "http://www.ocn.ne.jp/" objIE.Visible = True Set objIE = Nothing End Sub の Set objIE = CreateObject("InternetExplorer.Application") の部分を Set objIE = CreateObject("firefox.exe") に変えてみたら、 【ActiveX コンポーネントはオブジェクトを作成できません。(Error 429)】 になりました。

  • VB.NETでIEを起動してそのIEが後から見ても分かるようにしたい

    VB.NETで IE = CreateObject("InternetExplorer.Application") IE.Navigate("http://www.yahoo.co.jp") のようにしてIEを起動して、 その後通常のように手動でページを移動したり 複数のIEを手動で起動したりした場合に どれがこのプログラムで起動したIEかを ウインドウを見ただけで分かるようにしたいのですが、 何か方法はあるでしょうか? ウィンドウタイトルの文字で HTMLのページタイトルの横のMicrosoft Internet Explorerなどを 自分の自由に設定できればと思うのですが、 そういうことができたら教えて頂きたいです。 よろしくおねがいします。

  • インターネットで調べてVBSで下のようなものを作ってみました。

    インターネットで調べてVBSで下のようなものを作ってみました。 やりたいことは、IEを起動して複数のサイトを複数のタブで表示 したいのですが、サイトの種類分IEも起動してしまいます。 考えているようなことはできないのでしょうか。 ========ここから下です======== Option Explicit Dim objIE Dim objShell 'Shell.Application Set objShell = CreateObject("Shell.Application") Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True 'IEウィンドウを表示 objIE.Navigate2 "http://www.okwave.jp/" Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True 'IEウィンドウを表示 objIE.Navigate2 "http://www.google.co.jp/" Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True 'IEウィンドウを表示 objIE.Navigate2 "http://www.yahoo.co.jp/" ======================= よろしくお願いいたします。

専門家に質問してみよう