Makro E-Mail ohne Outlok (keine Anhänge)
08.10.2013 16:42:34
Berner
ich kenne mich zwar im Excel recht gut aus, habe aber bisher kaum Kenntnisse mit Makros. Nun muss ich einen erstellen und bin leider bei bisherigen Recherchen noch nicht auf eine Lösung gestoßen.
Es soll zentral auf einem Server für mehrere zugänglich ein Excel-Datei (2010) geben, in der Ergänzungen vorgenommen werden können. Nach den Ergänzungen soll der Nutzer auf einen Button drücken, der dann eine E-Mail an mich generiert mit der Info, dass Änderungen vorgenommen wurden.
Die Schwierigkeit hierbei: Die Nutzer der Excel-Datei benutzen nicht alle Outlook, so dass der E-Mail versand ohne Outlook von statten gehen muss.
Mein erster Lösungsansatz war SendMail.exe einzubeziehen, über welches die Mail verschickt wird. Der Nachfolgende Code funktioniert leider nicht. Es öffnet in der Symbolleiste kurz SendMail.exe - mehr passiert jedoch nicht. Ich vermute es liegt an SendMail und nicht an Excel:
Sub MailSenden()
Shell "C:\Sendmail\sendEmail.exe -f 'Absenderadresse -t 'meine Empfänger-Adresse -u Betreff -m _
Testmail"
End Sub
Danach bin ich im Internet auf die Lösung gestoßen die Mail mittels SMTP zu senden, was leider auch nicht funktioniert. Zum Test wollte ich einen Yahoo-Account nutzen. Das Makro hängt sich bei .Send auf mit der Fehlermeldung "Laufzeitfehler ..., Der Transport konnte keine Verbindung zum Server herstellen. Der Code lautet:Sub CDO_Mail_Small_Text()
Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
Dim Flds As Variant
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1 ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mail.yahoo.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "Absenderadresse"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Passwort"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Update
End With
strbody = "Hallo Empfänger," & vbNewLine & vbNewLine & _
"in der Excel-Datei DESAE wurden Änderungen vorgenommen." & vbNewLine & _
"Mit freundlichen Grüßen" & vbNewLine & _
With iMsg
Set .Configuration = iConf
.To = "Empfängeradresse"
.From = """Absendername"" "
.Subject = "Änderung der Excel-Datei DESAE"
.TextBody = strbody
.Send
End With
End Sub
Bei Absender-/Empfängeradresse und Passwort habe ich meine Daten ergänzt.Kann mir jemand weiter helfen? Wenn eine von beiden Versionen funktioniert reicht mir das aus. Bisher geht leider keine davon :-/
Vielen Dank im Voraus!
Antje Berner