2009-06-02 6 views
5

Ich benutze VBScript-Makros, um das InternetExplorer.Application COM-Automatisierungsobjekt zu verwenden, und ich habe Schwierigkeiten, eine vorhandene Instanz dieses Objekts wiederzuverwenden.Wiederverwendung von Internet Explorer COM-Automatisierungsobjekt

Von was ich gelesen habe, sollte ich in der Lage sein, die GetObject() Methode in VBScript zu verwenden, um eine vorhandene Instanz dieses Objekts zu halten.

Wenn ich den folgenden Code ausführen bekomme ich eine "Objekterstellung fehlgeschlagen - Moniker Syntaxfehler".

Ist mein Problem wirklich Syntax?

Ist mein Problem, wie ich dieses Objekt zu verwenden versuche?

oder kann, was ich versuche zu erreichen, einfach nicht getan werden?

Code:

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 
Auch

, ich habe kein Problem, das Create läuft(), die ein neues Internet Explorer-Fenster öffnet mich und navigiert, wo ich will, aber ich hätte lieber nicht das Makro mehr eröffnen Instanzen von Internet Explorer.

Antwort

4

Dieses Versuchen:


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

* das Komma Hinweis vor "InternetExplorer.Application"

EDIT: Try this:


Dim IE As SHDocVw.InternetExplorer 

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

Sie können auch versuchen, dieses:


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") 

EDIT:
Was Sie versuchen, ist möglicherweise nicht möglich, werfen Sie einen Blick darauf. http://support.microsoft.com/kb/239470

+0

Ich konnte einen anderen Fehler bei der Verwendung des Code-Snippets oben erhalten. Ich erhalte den Fehler "Objekterstellung fehlgeschlagen" in dieser Zeile. Was wären typische Gründe, warum dies für dieses Objekt passieren würde? – Zombie8

+0

Das Objekt wurde nicht erstellt. Verwenden Sie createObject, um ein Internet Explorer-Objekt zu erstellen, oder versuchen Sie einfach, eine offene Instanz zu verwenden? – Tester101

+0

Ich versuche, eine vorhandene "offene" Instanz zu verwenden. – Zombie8