Access - Hyperlink-Felder per VBA ansprechen

Hyperlink-Felder per VBA ansprechen

Wenn man in einem Formular mit Hyperlinks arbeitet, kann man drei verschiedene Informationen eingeben: die tatsächliche Adresse (URL), eine Unteradresse (Anker) und einen beschreibenden Text, der anstelle Adresse angezeigt werden soll. Die Eingabe dieser Informationen klappt ohne Probleme, aber wie kann man per VBA auf diese Elemente eines Hyperlinks zugreifen?

Jedes Textfeld mit einem Hyperlink verfügt zunächst einmal über die Eigenschaften "Address" und "SubAddress". "Address" beinhaltet dabei die URL, also z. B.: http://www.web.com/default.asp, und "SubAddress" optional den Namen eines auf dieser Seite vorhandenen Ankers, z. B.: officefiles.

Die komplette URL des Beispiels sähe also so aus: http://www.web.com/default.asp#officefiles

Der Zugriff auf Adresse und Unteradresse ist einfach:

  MsgBox Me.URL.Hyperlink.Address

  MsgBox Me.URL.Hyperlink.SubAddress

Alternativ dazu kann man die "HyperlinkPart()"-Funktion von Access einsetzen, die außer Adresse und Anker noch den angezeigten Text als Ergebnis liefern kann. Die Funktion erwartet als ersten Parameter das Hyperlink-Textfeld und als zweiten Parameter eine Konstante, über die gewünschte Teil der URL spezifiziert wird:

  MsgBox HyperlinkPart(Me.URL, acAddress) 'http://-Adresse

  MsgBox HyperlinkPart(Me.URL, acSubAddress) 'Ankername

  MsgBox HyperlinkPart(Me.URL, acDisplayedValue) 'Text

Die Eigenschaften werden per VBA durch eine einfache Zuweisung gesetzt. Dabei sind die drei Bestandteile "Anzeigetext", "Adresse" und "Anker" durch das Nummernzeichen (#) zu trennen:

  Me.URL = "Office Downloads#http://www.web.com/" & "default.asp#officefiles"

  Me.URL = "Mail an Herrn Müller#mailto:hmueller@test.de"

  Me.URL="FTP-Download#ftp://ftp.test.de/files/archiv.zip"

Wenn nur ein Nummernzeichen angegeben ist, wird der Text davor als Anzeigetext und der Text danach als Link interpretiert. Sind zwei Nummernzeichen angegeben, wird der Text vor dem ersten Nummernzeichen als Anzeigetext, der Text vor dem zweiten Nummernzeichen als Link und der Text nach dem zweiten Nummernzeichen als Ankername umgesetzt.

Um die angegebene Seite per VBA direkt anzusteuern, bei einem "mailto:"-Link den E-Mail-Client zu öffnen oder bei einem "ftp:"-Link den Download zu starten, wird folgende Anweisung eingesetzt: Me.URL.Hyperlink.Follow

Mehr Tipps: Access - Mehrere Namen auf einem Etikett zusammenfassen

Sponsoren und Investoren

Sponsoren und Investoren sind jederzeit herzlich willkommen!
Wenn Sie die Information(en) auf dieser Seite interessant fanden, freuen wir uns über eine kleine Spende. Empfehlen Sie uns bitte auch in Ihren Netzwerken (z. B. Twitter, Facebook oder Google+). Herzlichen Dank!

Nach oben Sitemap
Impressum & Kontakt