Browsernavigation (links) mit VBA ohne Tag-Index?

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.