VBA-Email-Versand-Problem
10.11.2004 13:46:53
Stefan
ich habe mir aus verschiedenen Codes folgendes VBA-Konstrukt erstellt. Das ganze funktioniert auch soweit bis auf zwei "Kleinigkeiten".
1. Ich würde gerne einzelne Worter in dieser Email fett schreiben bzw. mehrere Leerzeilen einfügen. Nur leider weiss ich nicht wie dies geht.
z.B. ich habe folgenden Code "Text_1" & vbCrLf & _ und würde gerne das Wort Text in "Fett" schreiben.
Wie kann ich Leerzeilen einfügen ? Ich habe immer "& vbCrLf & _ " genutzt um einen Zeilenumbruch zu erhalten, jedoch ist bei paarunddreißig Zeilenumbruchen Schluss.....
2. Ich versende die Mails via Outlook. In Outlook ist ja diese wunderbare Sicherheitsabfrage vorgeschaltet. Diese umgehe ich mit dem Tool Click-Yes. Das Tool funktioniert auch, aber seit ich Outlook 2003 habe sehe ich bei jeder Email diese Abfrage und muss einige Sekunden warten. Bei Outlook 2000 ging das ganze viel, viel schneller. Weiß da jemand Rat ?
Danke schon mal für jeden TIP
Greetz
Stefan
Hier der komplette Code:
Sub Serienmail_via_Outlook_Senden()
Dim OutApp As Object, Mail As Object
Dim i As Integer
Dim Nachricht
Dim C As Range
Dim s As String
For i = 1 To ActiveSheet.UsedRange.Rows.Count
'Variablen müssen bei jeder Schleife neu initalisiert werden
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Cells(i, 1) 'Adresse
.Subject = "Kostenübersicht Mobilfunk & Kfz" 'Betreff Zeile
'Sendetext
.body = "Hallo " & Cells(i, 2) & " " & Cells(i, 3) & "," & vbCrLf & vbCrLf & _
"Text_1" & vbCrLf & _
"Text_2" & vbCrLf & _
"Text_3" & vbCrLf & _
"Text_4" & vbCrLf & _
"Text_5" & vbCrLf & _
"Mit freundlichem Gruß" & vbCrLf & _
"Text_6" & vbCrLf & _
"______________________________________________________________________________________________" & vbCrLf & _
"A:" & vbTab & vbTab & vbTab & "| B" & vbCrLf & _
"C:" & vbTab & Cells(i, 4) & vbTab & "D:" & vbTab & Cells(i, 19) & vbTab & "E:" & vbCrLf & _
"F:" & vbTab & vbTab & Cells(i, 5) & vbTab & vbTab & "G:" & vbTab & vbTab & Cells(i, 20) & vbTab & vbTab & "H:" & Cells(i, 34) & vbCrLf & _
"______________________________________________________________________________________________" & vbCrLf & _
"Diese Email wurde automatisch generiert. Sollte diese Aufstellung Fehler enthalten informieren Sie bitte den Absender. Sollten mehrere Emails erhalten so sind Sie als Kostenstellenverantwortliche/r hinterlegt. Bitte beachten Sie hier die unterschiedlichen Rufnummern bzw. Kfz-Kennzeichen !" & vbCrLf & _
"Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden."
'.Display Hier wird die Mail vor dem versenden angezeigt
.Send 'Hier wird die Mail gleich in den Postausgang gelegt
End With
'Variablen zurücksetzen sonst geht es nicht
Set OutApp = Nothing 'CreateObject("Outlook.Application")
Set Nachricht = Nothing 'OutApp.CreateItem(0)
Application.Wait (Now + TimeValue("0:00:01"))
Next i
MsgBox " Es wurden " & i - 1 & " EMails versand."
Set objekt = Nothing
Set Aplli = Nothing
End Sub