# Per VBA Mail über LotusNotes verschicken - autom. Anmeldung



## Chris2610 (20. Januar 2009)

Guten Tag,
ich möchte aus Excel heraus eine PDf-Datei verschicken. 
Dies muss ich über Lotus-Notes machen. Wenn mein Notes geöffnet ist, funktioniert auch alles einwandfrei. Wenn mein Notes allerdings geschlossen ist, oder ich aktuell abgemeldet bin, dann öffnet sich immer ein Fenster zum Eingeben des Passworts.
Ich möchte, dass das Passwort automatisch im Hintergrund eingegeben wird, dazu gibt es wohl die Funktion .Initialize("Password"). Wenn ich diese Funktion allerdings ausführe gibt es einen Laufzeitfehler 438.

Das hier ist mein Code:

```
Public Sub SendNotesMail(subject As String, Attachment As String, Recipient As String, BodyText As String, SaveIt As Boolean)
'Set up the objects required for Automation into lotus notes
    Dim Maildb As Object 'The mail database
    Dim UserName As String 'The current users notes name
    Dim MailDbName As String 'THe current users notes mail database name
    Dim MailDoc As Object 'The mail document itself
    Dim AttachME As Object 'The attachment richtextfile object
    Dim Session As Object 'The notes session
    Dim EmbedObj As Object 'The embedded object (Attachment)
    'Start a session to notes
    Set Session = CreateObject("Notes.NotesSession")
    'Next line only works with 5.x and above. Replace password with your password
    'Session.Initialize ("password")
    'Get the sessions username and then calculate the mail file name
    'You may or may not need this as for MailDBname with some systems you
    'can pass an empty string or using above password you can use other mailboxes.
    UserName = Session.UserName
    MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
    'Open the mail database in notes
    Set Maildb = Session.GETDATABASE("", MailDbName)
     If Maildb.IsOpen = True Then
          'Already open for mail
     Else
         Maildb.OPENMAIL

     End If
    'Set up the new mail document
    Set MailDoc = Maildb.CREATEDOCUMENT
    MailDoc.Form = "Memo"
    MailDoc.sendto = Recipient
    MailDoc.subject = subject
    MailDoc.body = BodyText
    MailDoc.SAVEMESSAGEONSEND = SaveIt
    'Set up the embedded object and attachment and attach it
    If Attachment <> "" Then
        Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
        Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
        'MailDoc.CREATERICHTEXTITEM ("Attachment")
    End If
    'Send the document
    MailDoc.PostedDate = Now() 'Gets the mail to appear in the sent items folder
    MailDoc.SEND 0, Recipient
    'Clean Up
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set AttachME = Nothing
    Set Session = Nothing
    Set EmbedObj = Nothing
End Sub
```

Kann mir da jemand von euch Profis weiterhelfen?


----------



## MoR4euZ (22. Mai 2009)

Hallo,

mich würde sehr intreessieren on Du eine Lösung gefunden hast?
Ich hätte auch eine Verwendung für das Script 

Gruß


----------



## Chris2610 (25. Mai 2009)

Hallo,
leider habe ich für das Problem keine Lösung gefunden, sodass ich das Problem ad acta gelegt habe ;-)


----------

