Domino 9 und frühere Versionen > ND6: Entwicklung
Lotus Notes Attachment vs Embedded Object
M1N3773:
Hi
I have a problem I've been struggling with for ages. I have some code for sending an Excel file (from Excel VBA) via Lotus Notes, however, I need the file to be sent as an attachment, but it keeps sending it as an embedded object. I have looked at what feels like hundreds of forums, but I just cannot find an answer!!
Someone tested the code this morning and with the code unmodified, it came through as an attachment!!! So it worked, but I'm still no closer to an answer. At least it looks like it's not a code issue, but more like a version or settings issue. I am unable to find out the version of Lotus Notes that was used to send the test email. I am using version 6.0.2 CF2 on Windows XP.
Do you have any clues about how I could resolve this please? My current vba code below:
Sub SendEmail()
Dim objMailDB As Object
Dim objMailDoc As Object
Dim objSession As Object
Dim objMailRTF As Object
Dim objAttach As Object
DDMMYY = Format(Now, "DDMMYY")
ChDirNet ActiveWorkbook.Path
namefile = ActiveWorkbook.Path & "\WPR_BANG_WC_" & DDMMYY & "_NUD_DISP.xls"
Dim recip(2) As Variant
recip(0) = "clmsra@nn.co.uk"
recip(1) = "m.c@nn.co.uk"
Set objSession = CreateObject("Notes.NotesSession")
Set objMailDB = objSession.GETDATABASE("", "")
If objMailDB.IsOpen = True Then
Else: objMailDB.OPENMAIL
End If
Set objMailDoc = objMailDB.CREATEDOCUMENT
With objMailDoc
.Form = "Memo"
.SendTo = "clmsra@nn.co.uk"
.Subject = "Weekly Performance Reports - " & DDMMYY
.Body = "Please find this week's WPR." & Chr(13) & _
"" & Chr(13) & _
"Thanks"
.SAVEMESSAGEONSEND = True
End With
Set objMailRTF = objMailDoc.CREATERICHTEXTITEM("Attachment")
Set objAttach = objMailRTF.EMBEDOBJECT(1454, "", namefile, "Attachment")
With objMailDoc
.PostedDate = Now()
.SEND 0, recip
End With
Set objMailDB = Nothing
Set objMailDoc = Nothing
Set objSession = Nothing
Set objMailRTF = Nothing
Set objAttach = Nothing
End Sub
flaite:
Hi,
this is odd.
It may be due to a bug in the specific notes version you are using.
You retrieve information about the version with the NotesVersion property of your NotesSession.
objSession.NotesVersion.
Why didn't you declare your objects with the proper classes?
Dim objMailDB as NotesDatabase
Dim objMailDoc as NotesDcoument
etc.
Its better to use
--- Code: ---Set objAttach = objMailRTF.EMBEDOBJECT(NotesRichTextItem.EMBED_ATTACHMENT, "", namefile, "Attachment")
--- Ende Code ---
instead of
--- Code: ---Set objAttach = objMailRTF.EMBEDOBJECT(1454, "", namefile, "Attachment") ' Magic number.
--- Ende Code ---
regards
Axel
koehlerbv:
--- Zitat von: Axel Janssen am 07.01.08 - 16:14:19 ---
--- Code: ---Set objAttach = objMailRTF.EMBEDOBJECT(NotesRichTextItem.EMBED_ATTACHMENT, "", namefile, "Attachment")
--- Ende Code ---
--- Ende Zitat ---
No, you can't use such a construct: NotesRichTextItem.EmbedObject expects a constant of type integer as the first parameter. You can't replace it with a method of the class NotesRichtextItem.
Nevertheless, I can't see any reason in this code why instead of the desired attachments an embedded object is created. Sorry.
Bernhard
m3:
Maybe the problem does is not in the code but in the environment?
How do you execute this code? A time-triggered agent on the server, a button in the Notes Client, ...?
koehlerbv:
Martin - this is code inside an Excel sheet ...
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln