CreateObject("InternetExplorer.Application")

S

shart

This is the code so far:


Code:
--------------------
Sub InternetExplorer()
Dim IExp As InternetExplorer
Dim sPage As String
Set IExp = CreateObject("InternetExplorer.Application")

IExp.Visible = True
IExp.Navigate "http://localhost/login?login=demoname&password=demopass"

'Do Until IExp.readyState = READYSTATE_COMPLETE
' DoEvents
'Loop
'IExp.Quit
End Sub
--------------------


I need to click on this link:


Code:
--------------------
<a href="CuO_AAmB/WBPN" title="View stats on sales by item"
onMouseOver="window.status='View stats on sales by item'; return true;" onMouseOut="window.status='';">Sales</a><br>
--------------------


The problem? - The href changes everytime we log into the system, both
before and after the forward-slash ("/"), I am pretty sure it is
Yahoo's way of tracking the session.

From recording macros I know that the link is in table 22, and that it
is the second link in the table. Is there VBA for simply clicking on
the link and then using the page it links to as the data source?

I want to import a table on the page this link links to into excel as a
data source, is there any other way to automate the table import?

Thank You.
Simon.



I have the code excel generates, it pretty much stays the same from
this point, the name is changes to whatever is in to the left of the
"/" in the link above:


Code:
--------------------

Sub Macro1()
'
' Macro1 Macro
'
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;Http://localhost/login?ag63hresb6fn2&.done=http://storelink/_", _
Destination:=Range("A1"))
.Name = "CuO3wAj_"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "22"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Range("A3").Select
End Sub
 
M

michelxld

Hello

if you know the index of the link , you may try


Sub declencherLienPageWeb()
'Microsoft HTML Objects Library
'Microsoft Internet Controls
Dim IE As New InternetExplorer
Dim Cible As HTMLAnchorElement
Dim Doc As HTMLDocument

IE.Navigate "http://www.webPage.html"
IE.Visible = True
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop

Set Doc = IE.Document
Set Cible = Doc.Links(20)

Cible.Click
End Sub



to import the table , you could adapt this exemple


Sub Importer_tableauPageWeb()
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Htable As IHTMLElementCollection
Dim maTable As IHTMLTable
Dim j As Integer, i As Integer

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True

IE.navigate "http://www.webPage.html"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop

Set maPageHtml = IE.document
Set Htable = maPageHtml.getElementsByTagName("table") 'objet type
table
Set maTable = Htable(0) ' the first table

For i = 1 To maTable.Rows.Length ' table rows

For j = 1 To maTable.Rows(i - 1).Cells.Length ' each cell of the row
Cells(i, j) = maTable.Rows(i - 1).Cells(j - 1).innerText
Next j

Next i
End Sub



Regards
michel
 

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