Close Lotus notes after send email through excel vb

  • I am trying to automatically send an email through lotus notes using an excel macro. The macros works fine, other than I would like to have an if then that basically says, if lotus notes was open ... then leave open ... if lotus notes was closed ... open ... send mail ... then close. Attached is the code I have so far. Can anyone please help with this?


    [vba]Private Sub CommandButton5_Click()


    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)
    Dim Subject As String 'The subject string
    Dim Attachment As String 'The path to the attachemnt string
    Dim Recipient As String 'The Recipient string (or you could use the list)
    Dim Recip(10) As Variant 'The Recipient list
    Dim BodyText As String 'The body text
    Dim SaveIt As Boolean 'Save to sent mail
    Dim WasOpen As Integer 'Checking to see if the Mail DB was already


    Subject = "Open Issues List for " & Chr(32) & Range("g4")



    Recipient = "Mark Bradford"


    SaveIt = True
    Set Session = CreateObject("Notes.NotesSession")
    UserName = Session.UserName
    MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
    Set Maildb = Session.GETDATABASE("", MailDbName)
    If Maildb.IsOpen = True Then
    WasOpen = 1 'Already open for mail
    Else
    WasOpen = 0
    Maildb.OPENMAIL 'This will prompt you for password
    End If
    Set MailDoc = Maildb.CREATEDOCUMENT
    MailDoc.Form = "Memo"
    MailDoc.sendto = Recipient 'Or use Racip(10) for multiple
    MailDoc.Subject = Subject


    MailDoc.body = "The Open Issues List for #" & Chr(32) & Range("g4") & " has been updated. Please review, revise and respond as soon as possible, as any delay may affect delivery."


    MailDoc.SAVEMESSAGEONSEND = SaveIt
    If Attachment <> "" Then
    Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
    Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
    MailDoc.CREATERICHTEXTITEM ("Attachment")
    End If
    MailDoc.PostedDate = Now() 'Gets the mail to appear in the sent items folder
    MailDoc.SEND 0, Recipient

    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set AttachME = Nothing
    Set EmbedObj = Nothing
    If WasOpen = 1 Then
    Set Session = Nothing
    ElseIf WasOpen = 0 Then
    Session.Close
    Set Session = Nothing
    End If



    Dim Msg, Style, Title
    Msg = "E-mail has been sent to " & Recipient & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Press OK to continue."
    Style = vbOKOnly + vbInformation
    Title = "Open Issues List"
    Response = MsgBox(Msg, Style, Title, Help, Ctxt)
    End Sub[/vba]

  • Re: Close Lotus notes after send email through excel vb


    Hi Bradford,


    You check at the outset to see if Lotus is open or not. I'd create a boolean variable to record the fact then at the end of your prog, depending on the variable, leave it open or close it.


    John

  • Re: Close Lotus notes after send email through excel vb


    Hi John,
    Thanks for your response. Didn't I already do this when I set these lines? I just can't get the session to close. (please try to be specific, as I am new to the vb functions)


    If Maildb.IsOpen = True Then
    WasOpen = 1 'Already open for mail
    Else
    WasOpen = 0


    If WasOpen = 1 Then
    Set Session = Nothing
    ElseIf WasOpen = 0 Then
    Session.Close
    Set Session = Nothing
    End If


    Thanks
    Mark

  • Re: Close Lotus notes after send email through excel vb


    I still have no resolve with this. Can anyone please help me out with this one?



    Thanks
    Mark

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!