首页 文章

重用Internet Explorer COM自动化对象

提问于
浏览
6

我正在使用VBScript宏来利用InternetExplorer.Application COM自动化对象,我正在努力重用此对象的现有实例 .

根据我的阅读,我应该能够使用vbscript中的GetObject()方法来获取该对象的现有实例 .

当我执行以下代码时,我得到“对象创建失败 - 名字对象语法错误” .

我的问题真的是语法吗?

我的问题是我如何尝试使用此对象?

或者我想要完成的事情还没有完成?

码:

Dim IEObject as object

Sub Main  
  Set IEObject =  GetObject( "InternetExplorer.Application" )

  'Set the window visable
  IEObject.Visible = True

  'Navigate to www.google.com
  IEObject.Navigate( "www.google.com" )
End Sub

此外,我运行CreateObject()没有问题,它打开了一个新的Internet Explorer窗口并导航到我想要的位置,但我宁愿不让宏打开多个Internet Explorer实例 .

1 回答

  • 5

    试试这个:

    Set IEObject =  GetObject( ,"InternetExplorer.Application" )
    

    *注意"InternetExplorer.Application"之前的逗号

    编辑:试试这个:

    Dim IE As SHDocVw.InternetExplorer
    
    Set IE = GetObject(,"InternetExplorer.Application")
    

    你也可以试试这个:

    Dim ShellApp
    Set ShellApp = CreateObject("Shell.Application")
    Dim ShellWindows
    Set ShellWindows = ShellApp.Windows()
    Dim i
    For i = 0 To ShellWindows.Count - 1
        If InStr(ShellWindows.Item(i).FullName, "iexplore.exe") <> 0 Then
            Set IEObject = ShellWindows.Item(i) 
        End If
    Next
    IEObject.Navigate2("http://www.google.com")
    

    编辑:
    你正在尝试的可能是不可能的,看看这个 . http://support.microsoft.com/kb/239470

相关问题