Hallo zusammen,
ich würde gerne aus Excel heraus einen Dateianhang per Lotus Notes versenden.
Folgenden funktionsfähigen Code für die Generierung einer normalen Email aus Excel heraus habe ich nachfolgend eingestellt. Leider habe ich es bisher nicht hinbekommen meinen Code mit den Infos aus dem Forum zu ergänzen.
Der entsprechende Anhang soll nicht die lfd. Exceldatei sondern eine txt-Datei aus einem Ordner sein.
Ich wäre Euch sehr sehr dankbar, wenn einer einen hilfreichen Ansatz für hätte.
Viele Grüße
Uwe
Code:
Public Sub Email_versenden()
'Emailversand für Krankmeldung
Dim Kopie As String
Dim Empfänger As String
'Zusammenstellung der jeweiligen Email
Empfänger = "email@adresse.de"
'Kopie = "email@adresse.de"
'Email über Lotus mit formatierten Rich Text ab 14.06.2012 zusammengestellt
'Infos zur Textformatierung
'rtStyle.NotesFont = 4 'Bsp. für die Änderung der Schrift Courier
'rtStyle.Bold = True 'Bsp. für die Umstellung auf Fett
'rtStyle.NotesColor = 2 'Bsp. für Farbe Rot
'rtStyle.FontSize = 20 'Bsp. für Schriftgröße 20
'rtStyle 'Bsp. für Schatten???
Dim Session As Object
Dim Maildb As Object
Dim MailDbName As String
Dim Maildoc As Object
Dim vCopy As Variant
Dim rtItem As Object
Dim rtStyle As Object
Dim Betreff As String
Dim Zeile1 As String
Dim Zeile2a As String
Dim Zeile2b As String
Dim Zeile2c As String
Dim Zeile3 As String
Dim Zeile4 As String
Dim Zeile5 As String
Dim Zeile6 As String
'Empfänger wurde bereits früher im VBA-Code definiert
'Kopie wurde bereits früher im VBA-Code definiert
'Festlegung des CC Emailversand => über die Variable Kopie
'Kopie = "email@adresse.de"
Kopie = "email@adresse.de"
'Email wird definiert
Betreff = "Krankmeldung - " & Mitarbeitername
Zeile1 = "Guten Tag,"
Zeile2a = "der/ die Mitarbeiter/in "
Zeile2b = Mitarbeitername
Zeile2c = " hat sich krank gemeldet."
Zeile3 = "Bitte blockieren Sie den Kalender und Regeln Sie die"
Zeile4 = "entsprechende Vertretung."
Zeile5 = "Freundliche Grüße"
Zeile6 = "Ihre Gesamtteamliste"
'CREATE NOTES SESSION OBJECT
Set Session = CreateObject("notes.notessession")
'INITIALIZE DATABASE
'Set db = session.GetDatabase("", "")
Set Maildb = Session.GetDatabase("", MailDbName)
'OPEN THE MAIL DATABASE
If Maildb.IsOpen = True Then
'nothing
Else
Call Maildb.OpenMail
End If
'neues Email-Dokument erstellen
Set Maildoc = Maildb.CreateDocument
'Betreff erstellen
Call Maildoc.AppendItemValue("Subject", Betreff)
'SET DOCUMENT FORMAT TO MEMO
'Call doc.AppendItemValue("Form", "Memo")
'Empfänger der Email erstellen => Inhalt wird aus Zelle Cells(b, 20) geliefert
Call Maildoc.AppendItemValue("SendTo", Split(Empfänger, ";"))
'Empfänger-Kopie der Email erstellen
Call Maildoc.AppendItemValue("CopyTo", Split(Kopie, ";"))
'Email Body erstellen
Set rtItem = Maildoc.CreateRichTextItem("Body")
Set rtStyle = Session.CreateRichTextStyle
'Zeile 1
rtItem.AppendText Zeile1 & Chr(13) & Chr(13)
'Zeile 2a
rtItem.AppendText Zeile2a
'Zeile 2b
rtStyle.Italic = True
rtStyle.Bold = True
rtStyle.NotesColor = 2 'Farbe rot
rtStyle.FontSize = 12 'Schriftgröße 12
rtItem.AppendStyle rtStyle
rtItem.AppendText Zeile2b
'Zeile 2c
rtStyle.Italic = False
rtStyle.Bold = False
rtStyle.NotesColor = 0 'Farbe schwarz
rtStyle.FontSize = 10 'Schriftgröße 10
rtItem.AppendStyle rtStyle
rtItem.AppendText Zeile2c & Chr(13) & Chr(13)
'Zeile 3
rtItem.AppendText Zeile3 & Chr(13)
'Zeile 4
rtItem.AppendText Zeile4 & Chr(13) & Chr(13)
'Zeile 5
rtItem.AppendText Zeile5 & Chr(13) & Chr(13)
'Zeile 6
rtStyle.Italic = True
rtStyle.Bold = True
rtStyle.NotesColor = 4 'Farbe blau
rtStyle.FontSize = 12 'Schriftgröße 12
rtItem.AppendStyle rtStyle
rtItem.AppendText Zeile6 & Chr(13) & Chr(13)
'Email senden an Empfänger u. in Kopie
Call Maildoc.Send(False)
'Email speichern
Call Maildoc.Save(True, True)
'säubern
Set rtStyle = Nothing
Set rtItem = Nothing
Set Maildoc = Nothing
Set Maildb = Nothing
Set Session = Nothing
End Sub