Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7079 / 13644 ツリー ←次へ | 前へ→

【41338】IEの起動について さち 06/8/6(日) 21:43 質問[未読]
【41339】Re:IEの起動について Blue 06/8/6(日) 22:35 回答[未読]
【41340】Re:IEの起動について さち 06/8/6(日) 22:40 お礼[未読]

【41338】IEの起動について
質問  さち  - 06/8/6(日) 21:43 -

引用なし
パスワード
   こんばんは。
VBAでIEの起動はできるようになったのですが、
その起動の際に以下のような条件分岐で
起動させたいのですが可能なことなんでしょうか。

よろしくお願いいたします m(_ _)m

【IE起動時の条件分岐<例>】
■「IE起動ボタン」をクリック
 □google(http://www.google.com)を開いているブラウザがあったら
  →そのブラウザを最前列に表示
 □なかったら
  →google(http://www.google.com)を開く

【41339】Re:IEの起動について
回答  Blue  - 06/8/6(日) 22:35 -

引用なし
パスワード
   ▼さち さん:
> □google(http://www.google.com)を開いているブラウザがあったら
>  →そのブラウザを最前列に表示
> □なかったら
>  →google(http://www.google.com)を開く
立ち上げているかどうかは、Shell.ApplicationオブジェクトのWindowsプロパティで確認できます。

Option Explicit

Private Declare Function SetForegroundWindow Lib "user32.dll" (ByVal hWnd As Long) As Long

Sub test()
  IEWindow "http://www.google.co.jp/"
End Sub

Private Sub IEWindow(ByVal url As String)
  Dim objWindow As Object

  ' エクスプローラウィンドウを列挙
  For Each objWindow In CreateObject("Shell.Application").Windows
    ' 可視か
    If objWindow.Visible Then
      ' 対象がInternet Explorerであるか
      If TypeName(objWindow.Document) = "HTMLDocument" Then
        ' 開いているアドレスを確認
        If objWindow.Document.Location = url Then
          ' アクティブに
          SetForegroundWindow objWindow.hWnd
          Exit Sub
        End If
      End If
    End If
  Next
  With CreateObject("InternetExplorer.Application")
    .Visible = True
    .Navigate url
    Do While .Busy
      DoEvents
    Loop
    '' アクティブに
    'SetForegroundWindow .hWnd
  End With
End Sub

【41340】Re:IEの起動について
お礼  さち  - 06/8/6(日) 22:40 -

引用なし
パスワード
   Blue さん

早速のご回答ありがとうございます!!
Blueさんに教えていただいた内容で試してみたいと思います。

大変たすかりました!!

7079 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free