gelöst: Link zu Excel per E-Mail verschicken: Link kaputt

Moderator: ModerationP

gelöst: Link zu Excel per E-Mail verschicken: Link kaputt

Beitragvon Maresi » 16. Jul 2019, 10:40

Hallo Leute,


ich wollte ein einfaches Makro schreiben, damit ich auf Knopfdruck den Link zur aktuell offenen Excel-Datei per E-Mail verschicken kann.

Prinzipiell funktioniert das Makro. Leider hat die Sache einen Schönheitsfehler: Outlook macht ja automatisch aus dem vollständigen Pfad einen Link (blau, unterstrichen) - aber nur bis zum ersten Sonderzeichen!
Statt
file:\\C:\temp\Prüfung.xlsx
bekomme ich somit ein dysfunktinales
file:\\C:\temp\Prüfung.xlsx


Hier der aktuelle Code:
Code: Alles auswählen
Sub Link_per_Mail_senden()
    On Error GoTo ErrHandler
   
    ' SET Outlook APPLICATION OBJECT.
    Dim Datei As String, Pfad As String, Link As String
    Dim objOutlook As Object
    Set objOutlook = CreateObject("Outlook.Application")
   
    ' CREATE EMAIL OBJECT.
    Dim objEmail As Object
    Set objEmail = objOutlook.CreateItem(olMailItem)
   
    Datei = ActiveWorkbook.Name
    Pfad = ActiveWorkbook.Path
    Link = "file:\\" & Pfad & "\" & Datei
 
    With objEmail
        .Subject = "Link zur Datei " & Datei
        '.bodyFormat = 1
        .Body = "Die Datei """ & Datei & """ liegt unter: " & Link & " "
        .Display
        '.bodyFormat = 2
    End With
   
    ' CLEAR.
    Set objEmail = Nothing:    Set objOutlook = Nothing
   
ErrHandler:
 
End Sub



Ich hab' schonmal versucht, die Formatierung auf Text umzuschalten. Löst das Problem insofern, als dass der Link gar nicht mehr erzeugt wird.
Wenn man dann händisch auf HTML umstellt, wird der korrekte Link erzeugt.

Wenn man das ganze jedoch per Makro macht (also die beiden Kommentarzeichen bei ".bodyFormat" löscht), dann habe ich wieder das ursprüngliche Verhalten.


Ich bräuchte somit eine Möglichkeit, die Umlaute so zu maskieren, dass die dadurch erzeugten Links noch lesbar sind - von Mensch und Maschine!


Habt ihr da eine Idee, wie ich das anstelle?


Vielen Dank im Voraus,


Maresi
Zuletzt geändert von Maresi am 17. Jul 2019, 14:44, insgesamt 1-mal geändert.
Maresi
Neuling
 
Beiträge: 2
Registriert: 15. Jul 2019, 12:14

Re: Link zu Excel per E-Mail verschicken: Link "unterbrochen

Beitragvon Maresi » 17. Jul 2019, 14:44

PS: Lösung gefunden. <A HREF=....> richtig angewendet war's:

Code: Alles auswählen
Sub Link_per_Mail_senden()
    On Error GoTo ErrHandler
   
    ' SET Outlook APPLICATION OBJECT.
    Dim strbody As String
    Dim objOutlook As Object
    Set objOutlook = CreateObject("Outlook.Application")
   
    ' CREATE EMAIL OBJECT.
    Dim objEmail As Object
    Set objEmail = objOutlook.CreateItem(olMailItem)
   
    strbody = "Die Datei """ & ActiveWorkbook.Name & """ liegt unter: <A HREF=""file://" & _
              ActiveWorkbook.FullName & """>file://" & ActiveWorkbook.FullName & "</A></b></b></b>"

    With objEmail
        .Subject = "Link zur Datei " & ActiveWorkbook.Name
        .BodyFormat = 2
        .HTMLBody = strbody
        .Display
    End With
   
    Set objEmail = Nothing:    Set objOutlook = Nothing
   
ErrHandler:
 
End Sub
Maresi
Neuling
 
Beiträge: 2
Registriert: 15. Jul 2019, 12:14

Re: gelöst: Link zu Excel per E-Mail verschicken: Link kaput

Beitragvon mmarkus » 18. Jul 2019, 07:43

Schön das es geklappt hat.
Generell gilt: Wenn du einen HTML Body verwendest, sollte auch der per VBA eingefügte Text per HTML codiert werden.
ms access what else
mmarkus
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1534
Registriert: 16. Apr 2012, 16:07
Wohnort: Oberösterreich


Zurück zu Outlook Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast