Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1840to1844
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dateipfad als Link per Mail senden

Dateipfad als Link per Mail senden
21.07.2021 14:22:41
Alf
Moin zusammen,
ich habe folgendes Problem: Ein Nutzer soll eine Excel-Datei bearbeiten und diese dann per Knopfdruck an einen vorgegebene, feste Mailadresse versendet werden. Dabei soll nicht die ganze Datei, sondern lediglich ein klickbarer Verweis in der Mail dargestellt werde. Quasi soll eine Verknüpfung gesendet werden. Bei der Suche im Archiv des Forums bin ich auf folgenden Code gestoßen:

Sub Mailversand()
Dim MyOutApp As Object
Dim MyMessage As Object
Set MyOutApp = CreateObject("Outlook.application")
Set MyMessage = MyOutApp.createitem(0)
With MyMessage
.To = "Max.Mustermann@Firma.com"
.cc = "Meine.Mailadresse@Firma.com"
.Subject = "Titel"
.Body = "Nachricht" & Chr(13) & "file:" & ThisWorkbook.FullName
.Display
'.Send
End With
Set MyMessage = Nothing
Set MyOutApp = Nothing
End Sub
Leicht angepasst funktioniert dieser auch prima bei mir. Mit einer Ausnahme: der Dateiname beinhaltet Leerzeichen. Diese führen dazu, dass der Link in der Mail nicht vollständig klickbar ist und somit nicht zum Ziel führt.
Die Dateinamen ohne Leerzeichen zu verwenden ist leider keine Option.
Habt Ihr eine Idee, wie man den Code ggf. abändern kann, dass auch Dateinamen mit Leerzeichen als Link dargestellt werden?
Vielen Dank und viele Grüße
Alf

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateipfad als Link per Mail senden
21.07.2021 16:40:50
Anton
Hallo Alf
ungetestet:

pfad_ohne_leerzeichen = CreateObject("Scripting.FileSystemObject").GetFile(ThisWorkbook.FullName).ShortPath
mfg Anton
AW: Dateipfad als Link per Mail senden
21.07.2021 16:54:18
Alf
Moin Anton,
wow... funktioniert perfekt. Wieder einen neuen Ansatz gelernt.
Vielen Dank für Deine Hilfe und diesen Code!
Viele Grüße
Alf
AW: Damit wohl nicht mehr offen! (owT)
21.07.2021 17:20:59
EtoPHG

AW: Damit wohl nicht mehr offen! (owT)
21.07.2021 21:04:07
Luschi
Hallo Excel-Fan's
oh doch, immer noch offen, denn mit Win10-20H2 und Excel 2019 klappt das nämlich nicht:
pfad_mit_leerzeichen = ThisWorkbook.FullName
pfad_ohne_leerzeichen = CreateObject("Scripting.FileSystemObject").GetFile(ThisWorkbook.FullName).ShortPath
Debug.Print Chr(34) & pfad_mit_leerzeichen & Chr(34)
Debug.Print Chr(34) & pfad_ohne_leerzeichen & Chr(34)
Ergebnis im Direktfenster:
mit LZ   "F:\Daten\Downloads\M a p p e 1.xlsm"
ohne LZ "F:\Daten\Downloads\M a p p e 1.xlsm"
Gruß von Luschi
aus klein-Paris
Anzeige
Thema noch offen!
21.07.2021 22:50:29
Alf
Moin Luschi,
leider hast Du recht. Die anfängliche Euphorie wich leider schnell der Ernüchterung. Solange meine Datei auf meinem Desktop liegt, funktioniert der genannte Code sehr gut. Liegt die Datei jedoch in einem Netzwerk-Ordner (im Firmennetz), funktioniert die Darstellung des Pfades nicht mehr korrekt. Ein Muster konnte ich aber noch nicht erkennen, wann und wieso dies dann teilweise nicht funktioniert.
Wo der Code in jedem Falle streikt: wenn der Dateiname ein Umlaut enthält. Dann wird der Link zum Einen nicht mehr verkürzt dargestellt und ist zum Anderen nicht klickbar. Alles irgendwie strange.
Ich bastel nun seit Stunden rum und komme leider auf keinen grünen Zweig.
Vielleicht hat jemand noch eine Idee?
Vielen Dank für Eure Hilfe!
Viele Grüße
Alf
Anzeige
AW: Thema noch offen!
22.07.2021 10:58:18
Alf
Moin Tobias,
vielen Dank für den Hinweis bzgl. der HTML-Variante. Habe das entsprechend mal umgesetzt mit teilweisem Erfolg: um den Link im HTML-Body darzustellen muss ich den Mailtext zuvor in einer String-Variablen aus statischem Text und dem variablen Dateipfad zusammensetzen und den Mailtext dann als Body einbauen. Soweit sogut.
Aber auch hier wieder das Problem: liegt die Datei auf meinem Desktop funktioniert der Link. Liegt die Datei in einem Netzwerk-Ordner, wird der Link beim ersten Leerzeichen gekappt.
Ich hatte erst die Vermutung, dass die Zeichenfolge zu lang für die Variable sein könnte; Tests mit der MsgBox-Ausgabe haben aber gezeigt, dass sowohl der Pfad, als auch der Mailtext inkl. der HTML-Formatangaben korrekt zusammengesetzt und ausgegeben werden. Nur in der Mail verbirgt sich hinter dem Link nicht der Korrekte.
Vielleicht hat noch jemand eine Idee?
Vielen Dank und viele Grüße
Alf
Anzeige
AW: Thema noch offen!
22.07.2021 11:10:40
Tobias
Google:
Leerzeichen sind in URLs nicht zulässig. Sie müssen durch die Zeichenfolge %20 ersetzt werden. Im Query-String-Teil der URL kann %20 durch ein Plus-Zeichen (+) abgekürzt werden.
AW: Thema noch offen!
22.07.2021 11:40:49
Alf
Moin Tobias,
vielen Dank für Deine Suche und Ergebnistreffer. Als Feedback: das einklammern mit Chevrons funktioniert nicht. In diesem Falle wird der Link gar nicht mehr in der Mail angezeigt. Offensichtlich mag Outlook dies dann nicht mehr korrekt interpretieren. Grund: mir unbekannt, aber egal.
Stattdessen habe ich über Replace die Leerzeichen durch %20 ersetzt. Die ersten Tests waren erfolgreich.
Vielen Dank für Deine bzw. Eure Hilfe.
Viele Grüße
Alf
Anzeige

176 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige