2

この問題に遭遇したことはありませんが、電子メールの添付ファイルを処理できません。ドキュメントで埋め込みオブジェクトを検索するか、フィールドで埋め込みオブジェクトを検索できるコードがありますが、どちらもファイルを返しません。電子メールでファイルを確認でき、添付ファイルを含む $FILE フィールドを確認できます。

コードは次のとおりです。

    Function FileDetachFiles(doc As NotesDocument, fieldName As String, getFromField As Integer) As Variant

    On Error Goto ProcessError

    Dim s As NotesSession
    Dim db As NotesDatabase
    Dim rtItem As NotesRichTextItem
    Dim fileToExtract As String
    Dim fileName As String
    Dim fileArray() As String
    Dim message As String
    Dim embedObjects As Variant
    Dim attachFile As Integer
    Dim x As Integer

    Set s = New NotesSession    
    Set db = s.CurrentDatabase
    Const fileImport = "C:\"
    attachFile = False

    'Let's see if there are attached files...
    If getFromField = True Then
        'Locate field and get files...
        If doc.HasEmbedded Then
            If doc.HasItem(fieldName) Then          
                'Set the first field...
                Set rtItem = doc.GetFirstItem(fieldName)
                embedObjects = rtItem.EmbeddedObjects
                If Isarray(embedObjects) Then
                    Forall Files In rtItem.EmbeddedObjects
                        If Files.Type = EMBED_ATTACHMENT Then
                            fileName = Files.Source
                            fileToExtract = fileImport & fileName
                            Redim Preserve fileArray(x)
                            fileArray(x) = fileToExtract
                            x = x + 1
                            Call Files.ExtractFile(fileToExtract)   
                            attachFile = True               
                        End If          
                    End Forall
                End If
            End If
        End If
    Else    
        x = 0       
        'Go through doc looking for all embedded objects...
        If doc.HasEmbedded Then
            Forall o In doc.EmbeddedObjects
                If o.Type = EMBED_ATTACHMENT Then
                    fileName = o.Name
                    fileToExtract = fileImport & fileName
                    Call o.ExtractFile(fileToExtract)
                    Redim Preserve fileArray(x)
                    fileArray(x) = fileToExtract
                    x = x + 1
                    attachFile = True       
                End If      
            End Forall
        End If      
    End If

    If attachFile = True Then       
        FileDetachFiles = fileArray
    End If

    Exit Function
ProcessError:
    message = "Error (" & Cstr(Err) & "): " & Error$ & " on line " & Cstr(Erl) & " in GlobalUtilities: " & Lsi_info(2) & "."
    Messagebox message, 16, "Error In Processing..."
    Exit Function
End Function

$FILE および Body フィールド名を渡し、ドキュメントを検索するという、上記の両方のルーチンを試しました。添付ファイルは見つかりません。

私もこれを試しました: LotusScriptを使用して添付ファイルをMIMEとして抽出する

ドキュメントに MIME が見つかりませんでした。

私はこの問題に遭遇したことはありません.どんなアイデアでも素晴らしいでしょう.

ありがとう!

4

1 に答える 1