Solved

.Navigate URL in current IE windows or object in VBA

Posted on 2011-02-27
14
1,649 Views
Last Modified: 2012-05-11
Dear Expert,

I  am going through the long time process to create one IE object or window . and I plan not to quit the IE instance/window
until the computer is shut down. The current IE window will be used for other new VBA automation program. But
I don't know how to transfer the object information or property  of the current/existing IE window to the new IE object which
created from the new VBA program. I read some help that mention use shellwindow to grab the exsitng
IE window  object information and property at http://bytes.com/topic/visual-basic-net/answers/353392-how-access-current-internet-explorer-vb-net,
but it is not clear for me. Any code provide for the problem of  newIE.navigate URL on the existing IE window? please advise


Thanks

Duncan

 
0
Comment
Question by:duncanb7
  • 9
  • 5
14 Comments
 
LVL 30

Expert Comment

by:SiddharthRout
ID: 34996185
You don't need to use Shell for this. You can use CreateObject in VBA.

And once you are done simply use

Object.Quit

and then

Set Object = Nothing

See the example below.

Dim browser As Object

Private Sub IEObj()
    On Error GoTo ErrIE
    
    Set browser = CreateObject("InternetExplorer.Application")
    
    browser.Visible = True
    
    browser.Navigate ("http://koolsid.com")
    
    '~~> You can now use 'browser' object in your code
    '~~> till the time you destroy it.
    
    'browser.Quit
    'Set browser = Nothing
    
    Exit Sub
ErrIE:
    MsgBox Err.Description
End Sub

Open in new window


Sid
0
 
LVL 13

Author Comment

by:duncanb7
ID: 34996204
I mean I navigate URL on the existing or opened IE windows
0
 
LVL 13

Author Comment

by:duncanb7
ID: 34996207
I mean I navigate URL on the existing or opened IE windows  not on the new IE window or object
0
 
LVL 30

Expert Comment

by:SiddharthRout
ID: 34996211
And if there is no existing or opened IE?

Sid
0
 
LVL 13

Author Comment

by:duncanb7
ID: 34996224
Actually do you understand my question, i could explan more, and I don't know your question means ?(And if there is no existing or opened IE?)
0
 
LVL 13

Author Comment

by:duncanb7
ID: 34996240
Opened IE windows means that is not opened on my working program and it might create by
other program using other lanugage  
0
 
LVL 13

Author Comment

by:duncanb7
ID: 34996271
In other words, the opened IE windows is created seperately from my program.
Probably, we might use SHDocVw.ShellWindows
 to find the target title window first before navigate URL
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 30

Expert Comment

by:SiddharthRout
ID: 34996273
Ok Correct me if I am wrong. What I understood from your query is that you have opened IE from a different program and now you want to use that IE from VBA?

If not, then yes, if you can explain more then maybe I can give you the exact solution :)

Sid
0
 
LVL 13

Author Comment

by:duncanb7
ID: 34996320
For example,

now you open example IE window  by clicking on the IE icon on desktop windows abd browser to www.yahoo.com
and the IE titlte would be Yahoo!--Windower Explorer.
and then now you use new VBA program  for navigate example URL like www.goggle.com  but you could NOT create
new IE object for browsing , you need to navigate the URL on the opened window  with the title  Yahoo!-Window
0
 
LVL 30

Accepted Solution

by:
SiddharthRout earned 500 total points
ID: 34996334
Oh Ok.

Like this?

Sub Sample()
    Dim SW, IE
    
    Set SW = CreateObject("Shell.Application")
    For Each IE In SW.Windows
    If TypeName(IE.Document) = "HTMLDocument" Then
        If IE.LocationURL = "http://in.yahoo.com/?p=us" Then _
        IE.Navigate "www.Google.com"
    End If
    Next
End Sub

Open in new window


Sid
0
 
LVL 13

Author Comment

by:duncanb7
ID: 34996351
Yes it is correct  totally , and I found the solution yesterday from this wbesite
http://vba-corner.livejournal.com/4623.html but won't want to delete the
question. ANywaym you deserve the point
0
 
LVL 13

Author Closing Comment

by:duncanb7
ID: 34996353
Thanks you reply
0
 
LVL 30

Expert Comment

by:SiddharthRout
ID: 34996370
duncanb7: You are very kind but you should never do that ;)

If you have found an answer by yourself then post that here and then accept your answer and close the question. You don't need to delete it. :) This will also help other people who come searching for similar answers :)

Sid
0
 
LVL 13

Author Comment

by:duncanb7
ID: 34996399
Got it , anyway thanks for sharing
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
This article discusses four methods for overlaying images in a container on a web page
In this tutorial viewers will learn how to style a corner ribbon overlay for an image using CSS Create a new class by typing ".Ribbon":  Define the class' "display:" as "inline-block": Define its "position:" as "relative": Define its "overflow:" as …
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now