| 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 |