c64b311ee9
Goto Top

UNC Pfad als Hyperlink in automatisch generierter Mail aus EXCEL 2007

Hallo liebe Community,


gibt es die Möglichkeit den Befehl "Application.ThisWorkbook.Path" in einer E-Mail als Hyperlink zu einem UNC Pfad darzustellen?
Versuche eine Datei beim Speichern automatisch zu versenden. Das klappt auch soweit, nur wird der UNC PFad nicht als Hyperlink dargestellt, das wäre schön, wenn jemand helfen könnte

Danke!

Content-ID: 271724

Url: https://administrator.de/contentid/271724

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

114757
Lösung 114757 11.05.2015 aktualisiert um 14:15:55 Uhr
Goto Top
Moin,
beschreibe doch anstatt den Plaintext-Body den HTMLBody, in den schreibst du einen Link ala
<a href="DeinLink"> blaBlaBla</a>
hinein, feddich.

Set objOL = CreateObject("Outlook.Application")  
Set mail = objOL.CreateItem(0)
With mail
    .Subject = "Testmail"  
    .HTMLBody = "<a href=""" & ThisWorkbook.Path & """>DeinLink</a>"  
    .Display
End With
Set objOL = Nothing

Gruß jodel32
c64b311ee9
c64b311ee9 11.05.2015 um 14:15:59 Uhr
Goto Top
Genial! Du bist mein Held! :D
Wenn du mir nun noch verräts wie ich eine Text Box einrichte, die vorher abfragt, ob eine Mail gesendet werden soll, oder nicht, dann wär ich wunschlos glücklich :D
Zur Zeit schickt Excel eine Mail, sobald auf Speichern geklickt wird.
114757
114757 11.05.2015 aktualisiert um 14:20:03 Uhr
Goto Top
Kein Thema face-smile
If MsgBox("Möchten sie eine Mail verschicken ?", vbYesNo Or vbQuestion) = vbYes Then  
    Set objOL = CreateObject("Outlook.Application")  
    Set mail = objOL.CreateItem(0)
    With mail
        .Subject = "Testmail"  
        .HTMLBody = "<a href=""" & ThisWorkbook.Path & """>DeinLink</a>"  
        .Display
    End With
    Set objOL = Nothing
End If
c64b311ee9
c64b311ee9 11.05.2015 um 14:30:34 Uhr
Goto Top
Hallo Jodel,

vielen Dank für deine tolle Hilfe bis hier hin! Also in meiner "Arbeitsmappe" habe ich folgenden Code:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call Mailsenden
End Sub

und so sieht mein Modul aus:

Sub Mailsenden()
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
'Empfänger
.Recipients.Add "XXX"
.Recipients.Add "XXX"
'Betreff
.Subject = "Protokoll gespeichert"
'Inhalt der Nachricht
.HTMLBody = "<a href=""" & ThisWorkbook.Path & """>Protokoll</a> wurde gespeichert"
.Display
'Lesebestätigung aus
.ReadReceiptRequested = False
'Dateianhang
.Send
End With
Set olApp = Nothing
End Sub

Das mit der Messagebox funktioniert leider noch nicht ganz, also es passiert garnichts face-smile
114757
Lösung 114757 11.05.2015 aktualisiert um 14:55:17 Uhr
Goto Top
Das mit der Messagebox funktioniert leider noch nicht ganz, also es passiert garnichts
Ist ja auch gar nichts davon in deinem Code zu sehen :-P

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If MsgBox("Möchten sie eine Mail verschicken ?", vbYesNo Or vbQuestion) = vbYes Then  
        Mailsenden
    End If
End Sub

Sub Mailsenden()
    Dim olApp As Object
    Set olApp = CreateObject("Outlook.Application")  
    With olApp.CreateItem(0)
    'Empfänger  
    .Recipients.Add "XXX"  
    .Recipients.Add "XXX"  
    'Betreff  
    .Subject = "Protokoll gespeichert"  
    'Inhalt der Nachricht  
    .HTMLBody = "<a href=""" & ThisWorkbook.Path & """>Protokoll</a> wurde gespeichert"  
    .Display
    'Lesebestätigung aus  
    .ReadReceiptRequested = False
    'Dateianhang  
    .Send
    End With
    Set olApp = Nothing
End Sub
c64b311ee9
c64b311ee9 11.05.2015 um 14:55:42 Uhr
Goto Top
Ich bin absolut begeistert! Super vielen vielen Dank!!!