Option Explicit
Option Private Module
Sub
SendWithLotus()
Dim
noSession
As Object,
noDatabase
As Object
Dim
noDocument
As Object,
noAttachment
As Object
Dim
vaFiles
As Variant
Dim
i
As Long
Const
EMBED_ATTACHMENT =
1454
Const
stSubject
As String
=
"For information only"
Const
stMsg
As String
=
"As per agreement."
&
vbCrLf _
&
"XL-Dennis"
Dim
vaRecipient
As
Variant
'Addera mottagare till variant-arrayen.
vaRecipient = VBA.Array("aaa@xldennis.com",
_
"bbb@xldennis.com",
_
"ccc@xldenns.com")
'Låta
användarna välja vilka Excel-filer som ska bifogas.
vaFiles = Application.GetOpenFilename _
(FileFilter:="Excel
Filer (*.xls),*.xls",
_
Title:="Attach
files for outgoing E_Mail",
MultiSelect:=True)
'Om användaren avbryter.
If Not IsArray(vaFiles)
Then Exit Sub
'Instantiera Lotus Notes COM objekt.
Set
noSession =
CreateObject("Notes.NotesSession")
Set
noDatabase = noSession.GETDATABASE("",
"")
'Kontrollera om post-databasen är öppen eller inte.
If
noDatabase.IsOpen =
False Then
noDatabase.OPENMAIL
'Instantiera Lotus e-postobjekt.
Set
noDocument = noDatabase.CreateDocument
Set
noAttachment = noDocument.CreateRichTextItem("Body")
'Lägga
till de valda Excel-filerna som bilagor.
With
noAttachment
For
i =
1
To
UBound(vaFiles)
.EmbedObject EMBED_ATTACHMENT,
"",
vaFiles(i)
Next
i
End With
'Tilldela huvudegenskaperna i e-postobjektet värden
'samt spara och sända e-postet.
With
noDocument
.Form =
"Memo"
.SendTo = vaRecipient
.Subject = stSubject
.Body = stMsg
.SaveMessageOnSend =
True
.PostedDate =
Now()
.Send
0,
vaRecipient
End With
'Frigöra objekt från minnet.
Set
noDocument =
Nothing
Set
noDatabase =
Nothing
Set
noSession =
Nothing
'Aktivera Excel.
AppActivate
"Microsoft Excel"
MsgBox
"E-post
skapat och har framgångsrikt sänts iväg.",
vbInformation
End Sub