2009-06-02 20 views
5

InternetExplorer.Application COM otomasyon nesnesini kullanmak için VBScript makrolarını kullanıyorum ve bu nesnenin varolan bir örneğini yeniden kullanmakta zorlanıyorum.Internet Explorer'ı yeniden kullanma COM Otomasyon Nesnesi

Okuduklarımdan, bu nesnenin varolan bir örneğini tutmak için VBScript'te GetObject() yöntemini kullanabilmem gerekir.

Aşağıdaki kodu çalıştırdığımda bir "Nesne oluşturma başarısız oldu - moniker sözdizimi hatası" alıyorum.

Sorunum gerçekten sözdizimi mi?

Sorunum bu nesneyi nasıl kullanmaya çalışıyorum?

veya gerçekleştirmeye çalıştığım şey, henüz yapılmayabilir mi?

Kodu: Ayrıca

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 

, ben CreateObject (çalıştıran sorunum yok) Yeni bir internet explorer penceresi açılır ve ben istediğiniz gider, ama daha ziyade makro birden açmak olmazdı Internet Explorer örnekleri.

cevap

4

Bu deneyin:


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

* "InternetExplorer.Application"

DÜZENLEME önce virgül Uyarı: bu deneyin:


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


Dim IE As SHDocVw.InternetExplorer 

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

Ayrıca bu deneyebilirsiniz

DÜZENLEME:
Denediğiniz şey mümkün olmayabilir, buna bir bakın. http://support.microsoft.com/kb/239470

+0

Yukarıdaki kod snippet'ini kullanırken farklı bir hata yakalayabildim. Bu satırda "Nesne Oluşturma Başarısız" hatası alıyorum. Bu nesne için bunun olacağı bazı tipik nedenler neler olurdu? – Zombie8

+0

Nesne oluşturulmadı. Bir internet explorer nesnesi oluşturmak için createObject mi kullanıyorsunuz, yoksa sadece açık bir örneği mi kullanmaya çalışıyorsunuz? – Tester101

+0

Varolan bir "açık" örneğini kullanmaya çalışıyorum. – Zombie8