2009-06-02 27 views
5

Tôi đang sử dụng macro VBScript để sử dụng đối tượng tự động hóa InternetExplorer.Application COM và tôi đang đấu tranh với việc sử dụng lại một cá thể hiện có của đối tượng này.sử dụng lại đối tượng tự động hóa Internet Explorer COM

Từ những gì tôi đã đọc, tôi sẽ có thể sử dụng phương thức GetObject() trong vbscript để nắm giữ một phiên bản hiện tại của đối tượng này.

Khi tôi thực thi đoạn mã sau, tôi nhận được "Tạo đối tượng không thành công - lỗi cú pháp moniker".

Cú pháp của tôi có phải là vấn đề thực sự không?

Vấn đề của tôi là tôi đang cố gắng sử dụng đối tượng này?

hoặc những gì tôi đang cố gắng hoàn thành chỉ không được thực hiện?

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 

Ngoài ra, tôi không có vấn đề chạy CreateObject() mà mở ra một cửa sổ Internet Explorer mới và điều hướng nơi tôi muốn, nhưng tôi thà không có vĩ mô mở ra nhiều các phiên bản của Internet Explorer.

Trả lời

4

Hãy thử này:


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

* Chú ý dấu phẩy trước khi "InternetExplorer.Application"

EDIT: Hãy thử điều này:


Dim IE As SHDocVw.InternetExplorer 

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

Bạn cũng có thể thử điều này:


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:
Những gì bạn đang cố gắng có thể không thực hiện được, hãy xem xét điều này. http://support.microsoft.com/kb/239470

+0

Tôi đã có thể gặp lỗi khác khi sử dụng đoạn mã ở trên. Tôi gặp lỗi "Tạo đối tượng không thành công" trên dòng đó. Điều gì sẽ là một số lý do điển hình điều này sẽ xảy ra cho đối tượng này? – Zombie8

+0

Đối tượng không được tạo. Bạn đang sử dụng createObject để tạo ra một đối tượng thám hiểm internet, hoặc chỉ cố gắng sử dụng một thể hiện mở? – Tester101

+0

Tôi đang cố sử dụng phiên bản "mở" hiện có. – Zombie8

Các vấn đề liên quan