als ich seinerzeit von VBA kaum mehr wusste als für was VBA überhaupt steht, habe ich mir im Internet ein Makro zum Versenden von Emails aus Excel heraus (via Outlook) gesucht. Dieses "grund"-Makro verrichtet in vielen meiner tools treue Dienste:
Sub send_Email()
Dim ol, Mail As Object
Dim OlbyValue
On Error GoTo mailerrorhandler
F_link = ActiveSheet.Range("b3").Value & ActiveSheet.Range("b4").Value
F_link = Replace(F_link, " ", "%20")
MBody = ActiveSheet.Range("b2").Value
MBody = Replace(MBody, "((Link))", F_link)
Set ol = CreateObject("Outlook.Application")
Set Mail = ol.CreateItem(0)
Mail.Subject = "Test" 'kommt normal über eine Variable
Mail.To = "Test@test.de" 'kommt normal über eine Variable
Mail.cc = "Test_CC@test.de" 'kommt normal über eine Variable
Mail.bcc = "Test_BCC@test.de" 'kommt normal über eine Variable
Mail.body = MBody
Mail.Display
'Application.SendKeys "%s" 'Deactivated to allow user to read mail before sending
' MsgBox (myInspector.CurrentItem.ReceivedTime)
Application.ScreenUpdating = False
Application.Wait Now + TimeSerial(0, 0, 1)
Application.ScreenUpdating = True
Set ol = Nothing
Set Mail = Nothing
Exit Sub
mailerrorhandler:
MsgBox ("Outlook is not yet running" & Chr(10) & "Please resend your mails later")
Err.Clear
Set ol = Nothing
Set Mail = Nothing
End Sub
Der Text in der Zelle B2 enthält einen Platzhalter, der durch das makro durch einen Pfad ersetzt wird. Outlook sollte diesen Pfad als Hyperlink darstellen. Leider funzt das nicht zuverlässig, mir scheint, das insbesondere "lange" Pfadnamen zu einem Zeilenumbruch führen und dann nicht mehr als Link interpretiert werden.
Hat jemand von Euch eine Idee, wie ich die Darstellung als Hyperlink "erzwingen" kann?
Muster: https://www.herber.de/bbs/user/66660.zip
Danke und Gruss
Fettertiger