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