![]() |
Help sending Lotus Notes mail through VBA - one last piece!
Below is my macro (which works very well) to copy part of an Excel
worksheet, open up a Lotus Notes memo, paste it and send it with specific subject, body, recipient, etc. I have two questions: 1) The message isn't appearing in my send box. Any idea on how to acheive this? 2) I'd like to look at the message and send it manually in Lotus Notes. Is this possible? Thanks in advance. *** Sub SendNotesMail() 'Set up the objects required for Automation into lotus notes Dim Subject As String Dim Attachment As String Dim Recipient As String Dim BodyText As String Dim SaveIt As Boolean 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) Subject = range("a3") Subject = Subject & " " Subject = Subject & FormatPercent(range("c3"), 4) BodyText = range("a1") & " " & range("c1") & vbCrLf BodyText = BodyText & vbCrLf & range("a3") & FormatPercent(range("c3"), 4) & vbCrLf BodyText = BodyText & vbCrLf & range("a5") & vbCrLf BodyText = BodyText & vbCrLf & range("a7") & vbCrLf BodyText = BodyText & vbCrLf & range("a8") & vbCrLf '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 ("") '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 = " 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 |
All times are GMT +1. The time now is 11:41 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com