Automate Data Entry from .xls to IE

A

AB

I was hoping someone could explain in simple terms how i can make it
work, i.e., how do i write this code.

This is what I'd need:
I need to automate entering data into an IE based form. I got that far
to create IE object and to navigate to the url but i:
1. don't know how to get IE element name;
2. post value to that element;
3. make the code click on the element.

This is the unfinished code.

Sub WebLink()

Dim ie As Object
Dim sURL As String
Set ie = CreateObject("InternetExplorer.Application")

sURL = "http://www.yahoo.com"

ie.Visible = True
ie.Navigate sURL

'wait for response
Do Until Not ie.Busy And ie.ReadyState = 4
DoEvents
Loop

'Here i need a code to:
' 1. enter a value "Australia" in the search box
' 2. Click on "Web Search".

Set ie = Nothing

End Sub

Any help would be extremely helpful as i know something about the VBA
but this is outside my comfort zone. I have, however, achieved the
same result with SendKey - but i wanted to solve it in a bit more
robust way.

Thanks in advance!
 
J

JP

Sorry, that didn't wrap properly.

Just go to Yahoo, put "Australia" in the search box and click
"Search", then copy the resulting URL and use it as the variable.
Yahoo puts the search term in the URL so it's simple to automate going
to their website.

For example:

Dim AskMe as String
AskMe = Inputbox("What would you like to search for?")

sURL = "http://search.yahoo.com/search?p=" & AskMe & _
"&fr=yfp-t-501&toggle=1&cop=mss&ei=UTF-8"

If you wanted the same thing from Google it would be:

sURL = "http://www.google.com/search?hl=en&q=Australia"

HTH,
JP
 
A

AB

Thanks for the promt answer. I'm afraid it might not do what i'd need
- I must admit, i had provided a bad example.
This is what i'm after - i'd hawe more complext website than just a
search engine - i'd have something like travel site (for example):
http://www.ryanair.com/site/EN/
then, i'd want the code to click on "Find Lowest rates";
then the code would select London>Dublin>23 Feb etc, and then the code
would "submit" the request, enter some data into blank text boxes in
the resulting page and so forth.
So, to enable me to do that i'd need to understand how i can get an
Element Name on a specific web site (if it's possible at all) and how
to "click on buttons" on web sites etc.

I need this as i need to enter (key in) data into a web based
Enterpise form and i need to automate that process (as all of the data
are in .xls - so, i just need to post them over to the web. As I said,
i've done that with SendKey but need to improve it with a better code
(like controling the object from within .xls rather than just sending
"tab" and "enter" and "F6" etc.)

Any idieas?
 
J

JP

Good luck with that!

I suggest viewing the source code for the webpage (View>Source from
the IE toolbar) and noting the names of the inputboxes. You should try
searching "automate internet explorer" or "MSHTML automation" for code
samples. Here's a good one I found: http://www.xtremevbtalk.com/archive/index.php/t-175668.html

As always, I recommend you fill out the form manually and view the URL
to see if your search terms are embedded. If so, you can simply use
the URL as a string to pass it to the IE instance you created (see my
previous post).

Sorry I couldn't be more help here.

--JP
 
T

Tim Williams

Form elements typically are within a named form and themseleves have a
"name" attribute: they may also have an "id" attribute.

To access a "name"d input you can use:
ie.document.formname.elementname.value="myvalue"

If it has an id then:
ie.document.getElementById("theId").value="myvalue"

To submit a form:

ie.document.formname.submit
or
ie.document.forms(0).submit

If you want to investigate what the names or id's for various elements on a
page are then try this:
http://slayeroffice.com/tools/modi/v2.0/modi_help.html

Tim
 
A

AB

Thanks JP and Tim!

That was exactly what i needed - hints for the directions for me to go
to/to search. The links/advises look really promissing!
That should let me either do the trick or at least get started!

Thanks again!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top