次のような事は可能でしょうか?
可能でしたらコード教えて下さい。
①下の【Sub test55】を改造してください
下のtest55で作ったIEに名前を付けたい。
②【Sub test56】を作ってください
55で立ち上げたIEにyahoo.CO.JPを表示させるだけのマクロ
(上で名前付けた名前を使うイメージ)
③【Sub test57】を作ってください
55で立ち上げたIEを閉じるだけのマクロ
(同上)
※現状は、毎回IE立ち上げ→開放作業を繰り返してやってるので、名前付けてそれを使い回しできたらいいなぁと思い質問してみました。そもそも名前付けたりはできないのかもしれませんが…
とりあえずご回答お待ちしております!
Sub test55()
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True
objIE.Navigate "about:blank"
End Sub
'参照設定> Microsoft Internet Controls
Private objIE As InternetExplorer
Sub test55()
'Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True
objIE.Navigate "about:blank"
End Sub
Sub test56(URL_Name As String)
If (Not objIE Is Nothing) Then
Call objIE.Navigate(URL_Name)
End If
End Sub
Sub test57()
If (Not objIE Is Nothing) Then
Call objIE.Quit
Set objIE = Nothing
End If
End Sub
Sub wait()
Dim waitTime As String
'数秒ループ
waitTime = Right(CInt(Format(Time, "SS")) + 5, 1)
Do While (waitTime <> Right(Format(Time, "SS"), 1))
Loop
End Sub
Sub test()
Call test55
Call wait
Call test56("http://yahoo.co.jp")
Call wait
Call test56("http://goo.ne.jp")
Call wait
Call test57
End Sub
②と③ですが、
【Sub test56】既存のIEのページ変更
Sub test56() Dim oSH,oIE,oMyIE Set oSH = CreateObject("Shell.Application") Set oMyIE = Nothing For Each oIE In oSH.Windows If InStr(oIE.FullName,"iexplore.exe") > 0 Then Set oMyIE = oIE Exit For End If Next If oMyIE Is Nothing Then Exit Sub oMyIE.Navigate "http://www.yahoo.co.jp/" Set oMyIE = Nothing End Sub
【Sub test57】既存のIEを終了
Sub test56() Dim oSH,oIE,oMyIE Set oSH = CreateObject("Shell.Application") Set oMyIE = Nothing For Each oIE In oSH.Windows If InStr(oIE.FullName,"iexplore.exe") > 0 Then Set oMyIE = oIE Exit For End If Next If oMyIE Is Nothing Then Exit Sub oMyIE.Quit Set oMyIE = Nothing End Sub
※ie6で確認しましたが他のバージョンでは、"iexplore.exe"が異なるかもしれません。
動きました(IE6)。
この場合、『どのIEの表示を変えるか』とか『どのIEを閉じるか』といった指定はできないみたいですね。
可能なら指定までできるといいんですが、やはり名前付けたりとかは無理なんでしょうか…?
しかしほぼ希望の動きはしておりますので。応用して使わせて頂きますね。
ありがとうございました!(+100P)
'参照設定> Microsoft Internet Controls
Private objIE As InternetExplorer
Sub test55()
'Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True
objIE.Navigate "about:blank"
End Sub
Sub test56(URL_Name As String)
If (Not objIE Is Nothing) Then
Call objIE.Navigate(URL_Name)
End If
End Sub
Sub test57()
If (Not objIE Is Nothing) Then
Call objIE.Quit
Set objIE = Nothing
End If
End Sub
Sub wait()
Dim waitTime As String
'数秒ループ
waitTime = Right(CInt(Format(Time, "SS")) + 5, 1)
Do While (waitTime <> Right(Format(Time, "SS"), 1))
Loop
End Sub
Sub test()
Call test55
Call wait
Call test56("http://yahoo.co.jp")
Call wait
Call test56("http://goo.ne.jp")
Call wait
Call test57
End Sub
おーよく解りませんが動きました!
たぶんこのカタチが求めてた答えなんじゃないかな思うんですが、知識不足ででこれが大正解なのかどうか自体解りかねるというのが現状なんですが…w
じっくり勉強してみたいと思います。ありがとうございました。(+100P)
おーよく解りませんが動きました!
たぶんこのカタチが求めてた答えなんじゃないかな思うんですが、知識不足ででこれが大正解なのかどうか自体解りかねるというのが現状なんですが…w
じっくり勉強してみたいと思います。ありがとうございました。(+100P)