アプリ版:「スタンプのみでお礼する」機能のリリースについて

オフィス2003を使用しています。

「IEを開いて閉じる」は
Sub TEST()
Set ObjIE = CreateObject("InternetExplorer.application")
ObjIE.Visible = True '見えるようにする
'文字列で指定したURLに飛ぶ
ObjIE.navigate "http://www.yahoo.co.jp/index.html"
'表示終了まで待つ
Do While ObjIE.Busy = True
DoEvents
Loop
ObjIE.Quit
End Sub

と言うことがわかったのですが
開くのは他の作業をしたときに行うので
「閉じる」だけをvbaで行いたいのですがどうすればいいのかわかりません。

Sub TEST2()
Set ObjIE = CreateObject("InternetExplorer.application")
ObjIE.Visible = True '見えるようにする
ObjIE.Quit
End Sub

だと
また新たなIEが起動してしまい「現在起動しているIEを閉じる」と言うことができません。

アドバイスをお願い致します。

A 回答 (2件)

質問のコードだと、自分で別のIEを開いて、それを閉じてるだけでは。


今開いているIE(1つとしても)を、プログラムで捉えて、閉じないと質問の主旨では無いでしょう。
だから「今開いているIEを捉える方法(コード)は」と質問の表現を改めて質問しないとダメでしょう。
ObjIE.QuitのObjIEが捉えられれば、ObjIE.Quit
で終わり。
あとはObjectの破棄をする。
ーー
#1で、既にご回答は出ていますが。
ーーーー
WEB上で、ほぼ下記のようなのを見つけて改変。
Sub test02()
Set aShell = CreateObject("Shell.Application")
Set wcobj = aShell.Windows
For Each wobj In wcobj
If wobj.FullName Like "*iexplore.exe" = True Then
MsgBox wobj.LocationURL
If wobj.LocationURL = "http://www.google.co.jp/" Then
wobj.Quit
End If
End If
Next
End Sub
これでGoogle画面だけ閉じた。参考になれば。
    • good
    • 1
この回答へのお礼

試してみたらできました!ご回答ありがとうございます。

お礼日時:2008/10/19 16:18

こんばんは。



いくつか方法はありますが、

こんな方法が簡単では?
ただ、Vista + IE 7 だと、オプションを変更しないと、うまく行かない可能性があります。

Sub Test1()
Dim objShell As Object
Dim objWin As Object
Set objShell = CreateObject("Shell.Application")
For Each objWin In objShell.Windows
If TypeName(objWin) = "IWebBrowser2" Then
 Set objIE = objWin
 objIE.Quit
End If
Next
End Sub
    • good
    • 0
この回答へのお礼

できました!
ご回答ありがとうございます。

お礼日時:2008/10/19 16:18

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