Microsoft Excel

Herbers Excel/VBA-Archiv

Lotus Notes: Nutzung Mail-Vorlage | Herbers Excel-Forum


Betrifft: Lotus Notes: Nutzung Mail-Vorlage von: Peter
Geschrieben am: 14.12.2009 19:21:10

Hallo,

aus meinem Lotus Notes möchte ich gerne aus Excel heraus mails versenden, was auch funktioniert. Allerdings habe ich noch nicht den Befehl gefunden, dass standardmäßig meine Mail-Vorlage verwendet wird (Vorgaben, Allgemein und Signatur).

2. Frage: Wie kann ich mehrere Adresseaten in Kopie nehmen ? Über die Funktion "CopyTo" kann ich nur einen Adressaten berücksichtigen, andererseits werden Namen abgeschnitten.

Hat Jemand eine Idee ?

Gruß, Peter

  

Betrifft: AW: Lotus Notes: Nutzung Mail-Vorlage von: Michael
Geschrieben am: 16.12.2009 08:33:29

Hallo,
für Excel habe ich jetzt nichts, aber das Problem habe ich auch mit Access, der Code sollte aber auch mit kleinen Änderungen evtl. unter Excel laufen, ist ja VBA.

Der Wichige Code zur damit auch die Siganatur angehängt wird ist.
Set ws = CreateObject("Notes.NotesUIWorkspace") ' **durch das öffnen des Dokumentes durch NotesUIWorkspace**

vieleicht hilft das ja?

Gruß
Michael


Sub SendNotesMail(sEmpfang As String, sKopie As String, sBlindKopie As Variant, sText As String, _
 sAnhang As String, _
          MailAbsender As String, sBetrifft As String, _
          Optional MailSenden As Boolean)

    Dim session As Object
    Dim db As Object
    Dim doc As Object
    Dim rtobject, ws As Object
    Dim AttachMe As Object
    Dim DerAnhang As Object
    Dim user As String, server As String, mailfile As String
    Dim vAn As Variant, vCopy As Variant, vBlind As Variant
    On Error GoTo Fehler
    
    'sText = Replace(sText, vbCrLf, Chr(10)) ' Zeilenumbrüche ändern
  
    vAn = Split(sEmpfang, "; ") ' Empfänger Array
    If Len(sKopie) > 0 Then vCopy = Split(sKopie, "; ") 'cc Array
    If Len(sBlindKopie) > 0 Then vBlind = Split(sBlindKopie, "; ")  'bcc Array
    
    Set session = CreateObject("notes.notessession") ' Notes muss gestartet sein
    user = session.Username
    server = session.GetEnvironmentString("MailServer", True)
    mailfile = session.GetEnvironmentString("MailFile", True)
    Set db = session.GetDatabase(server, mailfile)
    Set doc = db.CreateDocument()
    
    With doc
    .Form = "Memo"
    .SendTo = vAn  ' an array
    If Len(sKopie) > 0 Then .CopyTo = vCopy 'cc Array
    If Len(sBlindKopie) > 0 Then .blindcopyto = vBlind 'bcc Array
    doc.Subject = sBetrifft ' die Betreffzeile
    
    .SAVEMESSAGEONSEND = True
    .PostedDate = Now

    'Die Zeilen mit dem Anhang nach hier oben verschieben, ist wichtig die Reihenfolge
    ' *******************************************
    If sAnhang <> "" Then
        Set AttachMe = .CreateRichTextItem("Attachment")
        Set DerAnhang = AttachMe.EmbedObject(1454, "", sAnhang) ',"Attachment" wird nicht benö _
tigt
    End If
    '*******************************
    
    End With

    Set ws = CreateObject("Notes.NotesUIWorkspace") ' **durch das öffnen des Dokumentes durch  _
NotesUIWorkspace**
    Call ws.EDITDOCUMENT(True, doc)                 ' **erreicht man das die eingestellte  _
Signatur aus den    **
    Set doc = ws.CURRENTDOCUMENT                    ' **Lotus Notes Optionen eingefügt wird      _
              **
    Call doc.GOTOFIELD("Body")
    Call doc.InsertText(sText)
    
    If MailSenden Then
        doc.Send False
    Else
        Call doc.Save(True, True)
    End If
    
Aufraeumen:
    On Error Resume Next
    Set AttachMe = Nothing
    Set DerAnhang = Nothing
    Set ws = Nothing
    Set doc = Nothing
    Set db = Nothing
    Set session = Nothing
    Exit Sub
Fehler:
    Resume Aufraeumen

End Sub