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

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

4

1 回答 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 窗口/选项卡。如果您有不止一个打开,您需要检查它们是否有一些显着特征。

于 2013-11-11T19:39:51.607 回答