Re: Login into secure web site and download data into worksheet?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Don't forget to change your password!
--
Steve

"ryguy7272" <ryguy7272@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:B63B1B90-B875-47BF-94BE-E1DA9A35E729@xxxxxxxxxxxxxxxx
W-O-N-D-E-R-F-U-L-!-!-!
That's why you are gold-level, Joel!

Thanks so much!!
Ryan---



--
Ryan---
If this information was helpful, please indicate this by clicking ''Yes''.


"joel" wrote:

I made a small change to get rid of the duplicate data. This works very well

Sub Login()


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

HomeURL = "http://www.countrybobsdemo.com/administrator/";

'get web page
IE.Navigate2 HomeURL
Do While IE.readyState <> 4
DoEvents
Loop

Do While IE.busy = True
DoEvents
Loop
Set Form = IE.document.getelementsbytagname("Form")

Set NameBox = IE.document.getElementById("modlgn_username")
'check if already login
If Not NameBox Is Nothing Then
NameBox.Value = "Ryan"

Set PasswordBox = IE.document.getElementById("modlgn_passwd")
PasswordBox.Value = "ryan123"

Form(0).submit
Do While IE.busy = True
DoEvents
Loop
End If

URL = "index.php?option=com_rsform&task=submissions.manage&formId=2"

'get web page
IE.Navigate2 HomeURL & URL
Do While IE.readyState <> 4
DoEvents
Loop

Do While IE.busy = True
DoEvents
Loop

Set Mytables = IE.document.getelementsbytagname("table")

Set History = Mytables(2)

RowCount = 1
For Each itm In History.Rows
ColCount = 1
For Each Col In itm.Cells
Select Case Col.Children.Length

Case 0, 1, 2
Cells(RowCount, ColCount) = Col.innertext
Case Is >= 3
Cells(RowCount, ColCount) = Col.Children(1).innertext
End Select

ColCount = ColCount + 1
Next Col

RowCount = RowCount + 1
Next itm
End Sub





"joel" wrote:

> I modified the code to get the page you requested. The original code > was
> getting a table from the homepage. the new code is getting the table > you
> requested. The table for some reason is repeating data twice in some > cells
> of the table. Yo need to clean up the reasults, but it give ALL the > data in
> the table.
>
>
> Sub Login()
>
>
> Set IE = CreateObject("InternetExplorer.Application")
> IE.Visible = True
>
> HomeURL = "http://www.countrybobsdemo.com/administrator/";
>
> 'get web page
> IE.Navigate2 HomeURL
> Do While IE.readyState <> 4
> DoEvents
> Loop
>
> Do While IE.busy = True
> DoEvents
> Loop
> Set Form = IE.document.getelementsbytagname("Form")
>
> Set NameBox = IE.document.getElementById("modlgn_username")
> 'check if already login
> If Not NameBox Is Nothing Then
> NameBox.Value = "Ryan"
>
> Set PasswordBox = IE.document.getElementById("modlgn_passwd")
> PasswordBox.Value = "ryan123"
>
> Form(0).submit
> Do While IE.busy = True
> DoEvents
> Loop
> End If
>
> URL = "index.php?option=com_rsform&task=submissions.manage&formId=2"
>
> 'get web page
> IE.Navigate2 HomeURL & URL
> Do While IE.readyState <> 4
> DoEvents
> Loop
>
> Do While IE.busy = True
> DoEvents
> Loop
>
> Set Mytables = IE.document.getelementsbytagname("table")
>
> Set History = Mytables(2)
>
> RowCount = 1
> For Each itm In History.Rows
> ColCount = 1
> For Each Col In itm.Cells
> Cells(RowCount, ColCount) = Col.innertext
> ColCount = ColCount + 1
> Next Col
>
> RowCount = RowCount + 1
> Next itm
> End Sub
>
>
>
>
>
> "joel" wrote:
>
> > there are 4 tables on your webpage. I down loaded the Login history > > table
> > onto a worksheet.
> >
> > Sub Login()
> >
> >
> > Set IE = CreateObject("InternetExplorer.Application")
> > IE.Visible = True
> >
> > URL = "http://www.countrybobsdemo.com/administrator/";
> >
> > 'get web page
> > IE.Navigate2 URL
> > Do While IE.readyState <> 4
> > DoEvents
> > Loop
> >
> > Do While IE.busy = True
> > DoEvents
> > Loop
> > Set Form = IE.document.getelementsbytagname("Form")
> >
> > Set NameBox = IE.document.getElementById("modlgn_username")
> > 'check if already login
> > If Not NameBox Is Nothing Then
> > NameBox.Value = "Ryan"
> >
> > Set PasswordBox = IE.document.getElementById("modlgn_passwd")
> > PasswordBox.Value = "ryan123"
> >
> > Form(0).submit
> > Do While IE.busy = True
> > DoEvents
> > Loop
> > End If
> >
> > Set Mytables = IE.document.getelementsbytagname("table")
> >
> > Set History = Mytables(1)
> >
> > RowCount = 1
> > For Each itm In History.Rows
> > Range("A" & RowCount) = itm.innertext
> > Next itm
> > End Sub
> >
> >
> >
> >
> > "ryguy7272" wrote:
> >
> > > I posted this question a couple months ago, and got a few > > > responses, but
> > > never got the code to work, so I’m re-posting now (finally have > > > some free
> > > time to revisit this).
> > >
> > > I’d like to go to this site:
> > > http://www.countrybobsdemo.com/administrator/
> > >
> > > login with these credentials:
> > > username = Ryan
> > > password = ryan123
> > >
> > > I’d like to store these values in tow cells, such as Sheet2, A1 = > > > Ryan and
> > > Sheet2, B1 = ryan123.
> > >
> > > Once I login, I’d like to go to Components > RSform!Pro > Manage
> > > Submissions, which you can click though and see, or see here (once > > > logged in):
> > > http://www.countrybobsdemo.com/administrator/index.php?option=com_rsform&task=submissions.manage&formId=2
> > >
> > > So, all the data is there. I’d like to download all of that, into > > > a sheet,
> > > maybe Sheet3!! How can it be done?
> > >
> > > Thanks,
> > > Ryan---
> > >
> > > PS, I tried recording a macro, and it failed miserably!!!
> > >
> > > -- > > > Ryan---
> > > If this information was helpful, please indicate this by clicking > > > ''Yes''.

.



Relevant Pages

  • Re: Web query
    ... Forget the codes mentioned eariler ... Do While .busy: DoEvents: Loop ...
    (microsoft.public.excel.programming)
  • Re: Virus alert on my app??
    ... waste of battery energy if your app is merely polling something in a loop ... processor after it has offered it up until at least one time slot period has ... DoEvents does actually call Sleepbut either of them in a closed loop ...
    (microsoft.public.vb.general.discussion)
  • RE: macro wich saves files
    ... When to use DoEvents is often a matter of judgment. ... In the case of the loop we came up with earlier, ... Dim lastSavedClick As Long ... 'get current system timer ...
    (microsoft.public.excel.misc)
  • Re: Web query
    ... Do While .busy: DoEvents: Loop ... Application.SendKeys ("{TAB 7}") ...
    (microsoft.public.excel.programming)
  • Re: Web query
    ... ate = ActiveCell.Value ... Do While .busy: DoEvents: Loop ...
    (microsoft.public.excel.programming)