Autor Thema: Dateianhänge aus Excel versenden  (Gelesen 1361 mal)

Offline champion

  • Frischling
  • *
  • Beiträge: 13
Dateianhänge aus Excel versenden
« am: 28.04.15 - 23:04:57 »
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

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Dateianhänge aus Excel versenden
« Antwort #1 am: 29.04.15 - 00:54:59 »
Schau mal in der Designerhilfe (oder im Web) nach NotesRichtextItem.EmbedObject(...), das Beispiel aus der Designer- Hilfe sollte schon reichen...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz