2009-06-02 12 views
5

VBScriptマクロを使用してInternetExplorer.Application COMオートメーションオブジェクトを利用していますが、このオブジェクトの既存のインスタンスを再利用することに苦労しています。Internet Explorerの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のインスタンス

答えて

4

これを試してみてください。


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

* EDIT

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

EDIT:
あなたがしようとしていることは可能ではないかもしれませんが、これを見てください。 http://support.microsoft.com/kb/239470

+0

上記のコードスニペットを使用すると、別のエラーが発生することがありました。その行に「オブジェクトの作成に失敗しました」というエラーが表示されます。これがこのオブジェクトで発生する典型的な理由は何でしょうか? – Zombie8

+0

オブジェクトは作成されません。 createObjectを使用してInternet Explorerオブジェクトを作成しているのですか、または単に開いているインスタンスを使用しようとしていますか? – Tester101

+0

私は既存の "オープン"インスタンスを使用しようとしています。 – Zombie8

関連する問題