You need to add a reference to the "Microsoft Internet Controls"
library. In VBA, go to the Tools menu, and choose References. In
that dialog, scroll down to "Microsoft Internet Controls" and put
a check next to it. This is the DLL that contains the definitions
of the objects you are trying to use.
Dim IE As SHDocVw.InternetExplorer
On Error Resume Next
Set IE = GetObject(, "InternetExplorer.Application")
Debug.Print Err.Description
On Error GoTo 0
If IE Is Nothing Then
Set IE = CreateObject("InternetExplorer.Application")
If IE Is Nothing Then
Debug.Print "error getting IE"
End If
End If
--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
wrote in message
oups.com...
Hi folks,
I'm trying to do the following:
Test to see if Internet Explorer already has an instance open
to address "www.mypage.com", for instance.
If it is already open, then change focus to that existing
window.
If it is not already open, then start a new instance of IE
with that URL.
I've got many years as a programmer, but new to this language.
I did
find the following code that looks close to what I want, but I
get an
error msg that reads: "User-defined type not defined" -
referencing the
variable "objSW As SHDocVw.ShellWindows"
Here is the code I found:
Dim objSW As SHDocVw.ShellWindows
Dim objIE As SHDocVw.InternetExplorer
Dim objDoc As Object
Set objSW = New SHDocVw.ShellWindows
If objSW.Count Then ' new
For Each objIE In objSW
If InStr(1, objIE.FullName, "mypage") Then
Set objIE = objSW.Item
fAppRunning = True
Exit For
Else
Set objIE =
CreateObject("InternetExplorer.Application")
End If
Next objIE
Else ' new
Set objIE = CreateObject("InternetExplorer.Application")
' new
End If
objIE.Visible = True
objIE.Navigate "www.mypage.com"
Set objDoc = Nothing
Set objIE = Nothing
Set objSW = Nothing
THANK YOU in advance for your help. GREATLY APPRECIATED!
Kind regards,
Cole