Hallo,
hier ein kleiner Beitrag meinerseits:
Option Public
Option Declare
Sub Initialize
'Fehlerbehandlung
On Error GoTo Error_Handler
'
'Variablen
Dim nsession As New NotesSession
Dim ndb As NotesDatabase
Dim ndo As NotesDocument
Dim nritbody As NotesRichTextItem
Dim strFileName As String
'
'Prozedur
Set ndb = nsession.CurrentDatabase
' NotesDocument aus UnprocessedDocuments ermitteln
Set ndo = ndb.Unprocesseddocuments.Getfirstdocument()
' Dateiname mit Pfad
strFileName = "E:\a.gif"
' Feld im NotesDocument für die Grafik
Set nritbody = New NotesRichTextItem(ndo, "BODY")
' Grafik importieren
Call nritbody.AppendRTItem(fktGrabImage(ndo, strFileName, ""))
' RichTextItem updaten
Call nritbody.Update
' Dokument speichern
Call ndo.Save(True, True, True)
Exit Sub
Error_Handler:
Print Err, Erl, Error
End Sub
Function fktGrabImage(ndo As NotesDocument, ByVal strFilepath As String, ByVal strType As String) As NotesRichTextItem
'Fehlerbehandlung
On Error GoTo Error_Handler
'
'Variablen
Dim nsession As New NotesSession
Dim nstream As NotesStream
Dim nMIMEhdr As NotesMIMEHeader
Dim nMIMEEntity As NotesMIMEEntity
Dim varCID As Variant
Dim strRTIName As String
Dim strTmp As String
Dim lngSeqNo As Long
Dim boolConvert As Boolean
'
'Prozedur
lngSeqNo = 1
' Dateierweiterung prüfen
If strType = "" Then
strTmp = LCase(StrRightBack(strFilePath, "."))
Select Case strTmp
Case "gif", "jpeg", "tiff"
' wird unterstützt
strType = strTmp
Case "jpg"
' wird unterstützt, muß aber angepasst werden
strType = "jpeg"
Case Else
' wird nicht unterstützt
Error 10030, {Unknown image file extension "} & strTmp & {"}
End Select
End If
' Name für MIME-Entity erzeugen
varCID = Evaluate({ @Replacesubstring(@Text(@Now; "*"); ":"; "") } )
strRTIName = "i" & varCID(0) & "-" & lngSeqNo
' MIME-Entity erzeugen
Set nMIMEEntity = ndo.CreateMIMEEntity(strRTIName)
' MIME-Header erzeugen
Set nMIMEhdr = nMIMEEntity.CreateHeader("MIME-Version")
If Not (nMIMEhdr Is Nothing) Then
Call nMIMEhdr.SetHeaderValAndParams(|1.0|)
End If
' NotesStream aus Datei erzeugen
Set nstream = nsession.CreateStream
If nstream.Open(strFilePath, "Binary") Then
' Datei in MIME-Entity einfügen
Call nMIMEEntity.SetContentFromBytes(nstream, "image/" & strType, ENC_IDENTITY_BINARY)
Else
' Datei konnte nicht geöffnet werden
Error 10029, "Image file not found: " & strFilepath
End If
' MIME Verarbeitung beenden
Call ndo.CloseMIMEEntities(True, strRTIName)
' ConvertMime Zustand merken
boolConvert = nsession.ConvertMime
' ConvertMime auf True setzen, damit der MIME-Inhalt konvertiert wird
nsession.ConvertMime = True
Set fktGrabImage = ndo.GetFirstItem(strRTIName)
' ConvertMime wieder auf den vorherigen Zustand zurücksetzen
nsession.ConvertMime = boolConvert
Exit Function
Error_Handler:
Print Err, Erl, Error
End Function
Mit diesem Agenten kann man Grafiken in Richtext-Felder importieren. Initialize muß nach Bedarf entsprechend angepasst werden.
MFG
ERR