[Access 2010 / VBA] Hyperlinkfelder "#mailto:123@xyz.de#" entfernen

SonyXP

Lt. Commander
Registriert
Okt. 2005
Beiträge
1.765
Hallo CB-Gemeinde :)

In einer Access 2010 "Anwendung" wird per Button-Klick eine Abfrage via DoCmd.TransferText in eine CSV-Datei exportiert.

Der Inhalt der CSV Datei sieht in etwa so aus:

Code:
Anrede; Nachname; EMail
Herr; Muster; muster@xyz.de#mailto:muster@xyz.de#

Diese CSV Datei wird als Datenquelle für einen Serienbrief einer anderen Anwendung verwendet.

Trotz Google habe ich noch keine Elegante Lösung gefunden, den Teilstring ab "#mailto:muster@xyz.de" in jeder Zeile der CSV Datei zu entfernen.

Hat jemand von Euch einen Denkanstoss / Lösungsansatz?

Ich versuche mich zur Zeit daran, die CSV-Datei einzulesen (Zeile um Zeile) und mit regulären Ausdrücken das Problem zu lösen. Das funktioniert aber noch nicht.

Vielen Dank für jede Antwort!

Gruß,
SonyXP
 
Woher kommt denn das #mailto:#? Steht das so in deiner Datenbank drin?

Wenn du das nur ab und an mal machen willst, dann nimm dir einen Texteditor, der RegExp-Suche kann, und ersetze den Wert. Ein Pattern dafür könnte so aussehen: #(?:[^\\#]+|\\.)*#
 
Hallo Nase ^^,

da "mailto" (usw.) wird von Access selbst generiert, sobald du einem Feld den Typ "Hyperlink" zuweist und als Wert eine Zeichenkette in Form einer E-Mail Adresse zuweist.

Für die Datenbankanwendung ist dies notwendig, damit sich aus Formularen heraus E-Mail Adressen anklicken lassen und so automatisch (aufgrund der "mailto"-Einbettung) das Standard-Emailprogramm (in diesem Falle Outlook 2010) mit einer neuen, leeren Mail an den angeklickten Empfänger öffnet.

Da VBA ja RegEx beherrscht und ich da auch schon einen Ansatz probiere, nehme ich einmal dein RegEx Muster zur Hand. Vielleicht liegt der Hund ja schon hier begraben ;)

Also besten Dank schon einmal dafür!

Gruß,
SonyXP

:edit:

Ich habe es jetzt anders gelöst, indem ich die Feldtypen von Hyperlink wieder auf Text gesetzt habe. Somit unterbinde ich, dass Access automatisch ein "#mailto:email@xyz.de# anhängt - so wird es nämlich tatsächlich auch als Wert mit in jeden Datensatz (in die Zelle) gespeichert, was bei Exporten zu "Problemen" führt.

Über:
Application.FollowHyperlink "mailto:" & Me.txt_ansp_email

... lassen sich die Felder dennoch anklicken (Doppelklick), um eine E-Mail an den eingetragenen Empfänger zu senden.

Nochmals Danke für deinen Lösungsansatz ;)
 
Zuletzt bearbeitet:
Zurück
Oben