Also du kannst ENTWEDER ein RichtextItem + EmbedObject verwenden (was bedeutet: du kannst kein HTML verwenden)
ODER ein Mime-Item.
der Mischmasch geht nicht. (zumindest nicht zuverlässig)
Schau dir doch mal den Beispielcode an, und versuch die Klasse in Excel zum Laufen zu bringen:
Aus dem Ärmel heraus würd ich sagen, dass der Konstruktor noch um die Session erweitert werden muss, da Excel kein "new NotesSession" kennt:
Public Sub new(doc As NotesDocument, itemName As String, sess as NotesSession)
...
set Session = sess ' anstatt von Set session = New NotesSession
/edit: wobei ich zugeben muss, dass ich keinen blassen Schimmer habe, ob und wie VB-Script Klassendeklarationen erwartet.
und im Code dann:
' Auslesen der Mail-DB
Set session = CreateObject("Notes.NotesSession")
server = session.GetEnvironmentString("MailServer", True)
mailfile = session.GetEnvironmentString("MailFile", True)
Set db = session.getdatabase(server, mailfile)
' E-Mail vorbereiten
Set doc = db.createdocument()
doc.Form = "Main Topic"
doc.SendTo = Empfaenger
doc.Subject = Cells(2, 5).Value
doc.principal = "Finanzinstitute@nordlb.de"
doc.viewicon = "75"
doc.FROM = session.UserName
' Mime erzeugen
Dim mime As New MultipartRelatedMime(doc, "Body", session) ' Klasse anlegen
Set stream = session.createStream
Call stream.Writetext(LARRY)
cid = mime.attach(stream, ENC_BASE64, "", "image/gif") ' Bild anhängen und CID merken
Call stream.close()
Call mime.setHtml(Replace(HTML, "%IMAGE%", cid), "bitte benutzen Sie einen HTML-fähigen Mailclient") ' CID im HTML ersetzen
Call mime.closeMime()
' und versenden
Call doc.send(False,session.Effectiveusername) ' Mail senden
Wenn du den Larry dann unter Excel versenden kannst, sollte HTML + weitere Attachments kein Problem sein.
Gruß
Roland
Call doc.send(False,session.Effectiveusername) ' Mail senden
Obicht - das versendet aber an den Ausführer des Codes.
Bernhard
%EDIT: Das nicht unwichtige Wörtchen "an" fehlte ...
Roland, das kommt *nur* in Deinem Beispiel vor ;D
Ich liefere mal auch noch den Larry nach:
Private Const LARRY = |R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw
AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz
ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp
a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl
ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis
F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH
hhx4dbgYKAAA7|
Aber fehlerfreien Code mit Hinweis auf alle Eventualitäten darf hier auch niemand erwarten: Erstens soll man ja auch das eigene Köpfchen benutzen, zweitens irrt der Mensch ab und an und drittens ist es schon etliche Mühe, passende Beispiele zusammenzusuchen. Eine komplette Testumgebung gibt es dann gegen Einwurf passender Münzen ;)
Bernhard