Moin,
was schon klappt:
Login mit Passwort auf eine Internetseite (z.B. gmx).
Aufrufen eines Links über den Index des „a“ tags, also über seine Listenposition im Quelltext.
was noch nicht klappt:
aufrufen eines Links über den alt-tag oder den angezeigten Link-Text.
Da sich der Quellcode recht schnell ändert und vor allem die Reihenfolge von Links nicht lange Bestand hat, möchte ich den Aufruf am liebsten über den angezeigten Link-Text (z.B.: Posteingang") starten.
Wer kann mir sagen, wie man das anpacken könnte?
Es folgt der bisherie Code in Excel 2003 VBA:
Sub Test()
Const cURL = "www.url.de"
Const cUserID = "user"
Const cPwd = "pass"
Dim ie As Object
Dim doc As HTMLDocument
Dim PageForm As HTMLFormElement
Dim UserIdBox As HTMLInputElement
Dim PasswordBox As HTMLInputElement
Dim FormButton As HTMLInputButtonElement
Dim Elem As IHTMLElement
Dim MarktLink As HTMLLinkElement
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate cURL
'Wait for initial page to load
Do While ie.busy Or Not ie.readyState = IE\_READYSTATE.complete: DoEvents: Loop
Set doc = ie.document
'Output HTML tags to debug window
Debug.Print "Login page: " & ie.LocationURL
For Each Elem In doc.all
'Debug.Print Elem.tagName
Next
Set PageForm = doc.forms(1)
Set UserIdBox = PageForm.elements("USR")
UserIdBox.Value = cUserID
Set PasswordBox = PageForm.elements("pass")
PasswordBox.Value = cPwd
PageForm.submit
'Wait for the new page to load
Do While ie.busy Or Not ie.readyState = IE\_READYSTATE.complete: DoEvents: Loop
Set doc = ie.document
Debug.Print "Login page: " & ie.LocationURL
For Each Elem In doc.all
'Debug.Print Elem.tagName
Next
Set MarktLink = doc.links.Item(7)
MarktLink.Click
End Sub
Statt des Linkdes-Index 7 soll nun aber der im Browser sichtbare Linktext oder der alt-tag verwendet werden.
thx
moe.