首页 文章

vbscript激活一个打开的窗口

提问于
浏览
0

我在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

目前,正如我所知,上面的代码将在每次运行时打开一个新窗口 . 如果用户已经打开窗口,有没有办法将焦点放在这个窗口而不是打开一个新窗口?

1 回答

  • 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窗口/选项卡 . 如果您有多个打开,您需要检查它们的一些区别特征 .

相关问题