none
VBA Tips - SendLotusEmails - Envie e-mail com o Lotus Notes RRS feed

  • Discussão Geral

  • Envie e-mails através do Lotus Notes. Requer as Classes de Automação do Lotus(Lotus Automation Classes - notes32.tlb).

      ' Attribute VB_Name = "modLotus"
    
    ' This public sub will send a mail and attachment if neccessary to the recipient including the body text.
    ' Requires that notes client is installed on the system.
    
    Public Sub SendLotusEMail(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 LotusSession As Object ' The notes session
        
        Dim EmbedObj As Object ' The embedded object (Attachment)
        
        ' Start a session to notes
        
        Set LotusSession = CreateObject("Notes.NotesSession")
        
        ' 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
        
        UserName = LotusSession.UserName
        
        MailDBName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
        
        ' Open the mail database in notes
        
        Set MailDB = LotusSession.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 LotusSession = Nothing
        
        Set EmbedObj = Nothing
    
    End Sub
    Deixe os seus comentários! Envie este artigo, divulgue este link na sua rede social...

    Tags: VBA, Lotus, Lotus Notes, e-mails, notes32.tlb, send,



    A&A - In Any Place http://inanyplace.blogspot.com/ - bernardess@gmail.com Twitter: @inanyplace

    quinta-feira, 21 de novembro de 2013 16:17