我在VBScript中创建一个宏,它从一个开放的Internet Explorer应用程序复制信息并将其粘贴到另一个应用程序中。我不想要的是不断重新打开一个窗口,因为用户已经打开了所需的窗口,他们希望宏从这个打开的窗口中复制信息。以下是我到目前为止的情况:
Dim objIE
Dim strMyInfo
Set objIE = CreateObject("InternetExplorer.Application")
with objIE
.visible = true
.navigate ("http://msdn.microsoft.com/en-us/library/wffts6k3%28v=vs.84%29.aspx")
end with
do until objIE.readyState = 4
wscript.sleep 100
loop
strMyInfo = objIE.document.getElementByID("CodeSnippetContainerCode_b459fc9d-ea49-4d19-8658-1b22d4fff615").value
目前,正如我所知,上面的代码每次运行时都会打开一个新窗口。如果用户已经打开窗口,有没有办法将焦点放在这个窗口而不是打开一个新窗口?
答案 0 :(得分:0)
您可以附加到已经运行的Internet Explorer实例,如下所示:
For Each wnd In CreateObject("Shell.Application").Windows
If InStr(1, wnd.FullName, "iexplore.exe", vbTextCompare) > 0 Then
Set objIE = wnd
Exit For
End If
Next
以上代码将附加到遇到的第一个Internet Explorer窗口/选项卡。如果您打开了多个,则需要检查它们是否具有显着特征。