Mail mit Anhang aus Outlook-Express
 |
Betrifft: Mail mit Anhang aus Outlook-Express
von: Bernhard Ebermann
Geschrieben am: 12.08.2004 13:51:34
Hallo Leute,
ich hatte lange nach einer Möglichkeit gesucht, Mails mit Anhang, unabhängig vom installierten Mailsystem zu versenden.
Siehe hierzu: https://www.herber.de/forum/index.htm?https://www.herber.de/forum/archiv/464to468/t466319.htm#
Nachdem dieses scheinbar nicht möglich ist, muss ich mich auf Outlook-Express festlegen.
Es gibt in der Recherche mengenweise Beispiele zu diesem Thema, die sich aber alle auf Outlook beziehen.
Ich suche nun nach einer Möglichkeit Mails mit xls-Anhang über Outlook-Express zu versenden.
Ich schreibe in VBA zwar unter Office 97, jedoch soll das Ganze natürlich auch unter Office 2000 lauffähig sein.
Weis jemand Rat hierzu.
Gruss
Bernhard
Betrifft: AW: Mail mit Anhang aus Outlook-Express
von: Nepumuk
Geschrieben am: 12.08.2004 18:28:04
Hallo Bernhard,
folgenden Code habe ich irgendwo mal aufgeschnappt:
Private Declare Function ShellExecute Lib "Shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Sub Mail_Text_in_Body_2()
'Example for Outlook Express with API call
'In Excel 2002 I can use around 1800 characters
Dim msg As String, URL As String
Dim Recipient As String, Subj As String
Dim Recipientcc As String, Recipientbcc As String
Dim cell As Range
Recipient = "a@b.de"
Recipientcc = ""
Recipientbcc = ""
'You can use a cell value also like this
'Recipient = Sheets("mysheet").Range("A1").Value
Subj = "Testbodymail"
'Subj = Sheets("mysheet").Range("A2").Value
msg = "Dear customer" & vbNewLine & vbNewLine
For Each cell In Sheets("Tabelle1").Range("A1:A5")
msg = msg & vbNewLine & cell
Next cell
msg = WorksheetFunction.Substitute(msg, vbNewLine, "%0D%0A")
'If you have hard returns in one of your cells you also need this line (Tip from Keepitcool)
msg = WorksheetFunction.Substitute(msg, vbLf, "%0D%0A")
URL = "mailto:" & Recipient & "?cc=" & Recipientcc & "&bcc=" & Recipientbcc _
& "&subject=" & Subj & "&body=" & msg
ShellExecute 0&, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus
Application.Wait (Now + TimeValue("0:00:4"))
SendKeys "%s"
End Sub
Sub Mail_Text_in_Body()
'Example for Outlook Express
'In Excel 2002 I can use around 600-700 characters
Dim msg As String, cell As Range
Dim Recipient As String, Subj As String, HLink As String
Dim Recipientcc As String, Recipientbcc As String
Recipient = "a@b.de"
Recipientcc = ""
Recipientbcc = ""
'You can use a cell value also like this
'Recipient = Sheets("mysheet").Range("A1").Value
Subj = "Testbodymail"
'Subj = Sheets("mysheet").Range("A2").Value
msg = "Dear customer" & vbNewLine & vbNewLine
For Each cell In Sheets("Tabelle1").Range("a1:a5")
msg = msg & vbNewLine & cell
Next cell
msg = WorksheetFunction.Substitute(msg, vbNewLine, "%0D%0A")
''If you have hard returns in one of your cells you also need this line (Tip from Keepitcool)
msg = WorksheetFunction.Substitute(msg, vbLf, "%0D%0A")
HLink = "mailto:" & Recipient & "?" & "cc=" & Recipientcc & "&" & "bcc=" & Recipientbcc & "&"
HLink = HLink & "subject=" & Subj & "&"
HLink = HLink & "body=" & msg
ActiveWorkbook.FollowHyperlink (HLink)
Application.Wait (Now + TimeValue("0:00:4"))
SendKeys "%s"
End Sub
Gruß
Nepumuk
Betrifft: AW: Mail mit Anhang aus Outlook-Express
von: Bernhard Ebermann
Geschrieben am: 12.08.2004 20:31:25
Hallo Nepumuk,
es hat ein wenig gedauert mit meiner Antwort, da ich ja erst alles ausprobieren musste.
Nun denn, das funktioniert ja soweit schon ganz gut.
Allerdings ist die Übertragungsmenge der Zeichen zu gering, um grössere Seiteninhalte zu versenden.
Es wird dann einfach ohne Fehlermeldung abgearbeitet, ohne jedoch die Mail zu generieren.
Ich will/muss aber eine ganze xls versenden, was hiermit nicht geht.
Ich muss aber auch sagen, dass ich nicht in der Lage bin, es dahingehend umzustellen, wenn es denn überhaupt geht.
Gruss
Bernhard
Betrifft: AW: Mail mit Anhang aus Outlook-Express
von: Nepumuk
Geschrieben am: 12.08.2004 20:50:53
Hallo Bernhard,
das Problem mit Outlook Express ist, dass es nicht in das Objektmodell von Office eingebunden wurde. Die einzige Möglichkeit besteht in der Anwendung der Sendkeys - Methode, welche aber sehr unsicher ist. Da kann ich dir leider nicht weiterhelfen.
Sorry
Nepumuk
Betrifft: AW: Mail mit Anhang aus Outlook-Express
von: Bernhard Ebermann
Geschrieben am: 12.08.2004 20:57:10
Hallo Nepumuk,
das ist schade.
Ich möchte Dir trotzdem für Deine Mühe danken.
Gruss
Bernhard
Betrifft: AW: Mail mit Anhang aus Outlook-Express
von: Hans W. Herber
Geschrieben am: 14.08.2004 04:08:20
Hallo Bernhard,
vielleicht hilft Dir die ultimative Seite für Email-Versand mittels VBA weiter:
http://www.rondebruin.nl/sendmail.htm
Gruss hans
Betrifft: AW: Mail mit Anhang aus Outlook-Express
von: Bernhard Ebermann
Geschrieben am: 19.08.2004 23:18:37
Hallo Hans,
konnte diese Mail leider erst heute beantworten, da ich einen Kurzurlaub eingelegt hatte.
Der Link war mir bekannt.
Bin aber bei der PW-Übergabe hängen geblieben.
Siehe hierzu
https://www.herber.de/forum/archiv/464to468/t466319.htm#466319
Danke Dir aber trotzdem für den Versuch.
Gruss
Bernhard