-
Thanks.
I believe i have it now. Just amended the array a little bit.
I attach the code.
Many thanks for you help with this, been invaluable.
Owe you one.
Option Explicit
Dim lErr As Double
Sub Mail_Pdf_with_Lotus()
Dim MyPath As String
Dim MyName As String
Dim sSubject As String
Dim sAttachment As String
Dim sRecipient As String
Dim sBodyText As String
MyPath = "J:\path\name\" ' Set the path.
MyName = Dir(MyPath) ' Retrieve the first entry.
Do While MyName <> "" ' Start the loop.
' Ignore the current directory and the encompassing directory.
If MyName <> "." And MyName <> ".." Then
' Use bitwise comparison to make sure MyName is a directory.
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
' We don't do a thing if it's a subdirectory
Else
' Send an email
sSubject = "Info for your account : " & Mid(MyName, 1, Len(MyName) - 4)
sAttachment = MyPath & MyName
sRecipient = Mid(MyName, 1, Len(MyName) - 4)
sBodyText = "Dear Sir...."
SendNotesMail sSubject, sAttachment, sRecipient, sBodyText, True
End If
End If
'Go to next file
MyName = Dir
Loop
MsgBox "Mails are sent ...", vbInformation
End Sub
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")
'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 = 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.CopyTo = ""
MailDoc.BlindCopyTo = ""
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")
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
'************************************************************************** ****
'NB heres how to send to multiple recipients -
'set MailDoc.sendto to an array of variants each of which will receive the message
'Dim recip(25) as variant
'recip(0) = "emailaddress1"
'recip(1) = "emailaddress2" e.t.c
'MailDoc.sendto = recip
'************************************************************************** ****
End Sub
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules