Improve company productivity with a Business Account.Sign Up

x
?
Solved

.Navigate URL in current IE windows or object in VBA

Posted on 2011-02-27
14
Medium Priority
?
3,757 Views
Last Modified: 2018-01-07
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
Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

 
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
 
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 2000 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

Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

This article explains how to prepare an HTML email signature template file containing dynamic placeholders for users' Azure AD data. Furthermore, it explains how to use this file to remotely set up a department-wide email signature policy in Office …
Q&A with Course Creator, Mark Lassoff, on the importance of HTML5 in the career of a modern-day developer.
In this Micro Tutorial viewers will learn how to create navigation buttons that change on rollover, using CSS (Continuation of the CSS Image Sprite tutorial) Create a parent ID for all the list items       - Specify position: absolute and display: block…
This video shows how to quickly and easily deploy an email signature for all users in Office 365 and prevent it from being added to replies and forwards. (the resulting signature is applied on the server level in Exchange Online) The email signat…

579 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