メールインデータベースアプリケーションを使用していますが、Bodyフィールドの一部ではない添付ファイルが含まれる電子メールを受信することがあるため、rtItem.EmbeddedObjectsで「表示」できないことがあります。
アタッチメントがボディにない場合、アタッチメントがあることをどのように識別しますか?それを確認したら、どのようにハンドルを取得しますか?
添付ファイルの種類(PDF、JPG、DOC、XLSなど)を判別し、それを切り離してから、拡張子に基づいて処理する必要があります。
これは、Body(RTF)フィールドと関連するEmbeddedObjectsのすべてのチェックを行うさまざまなIfステートメントです。これは、ボディの「外側」にあるアタッチメントをキャッチしません。
Set rtItem = mailDoc.Getfirstitem("Body")
If ( rtItem.Type = RICHTEXT ) Then
If Not (IsEmpty(rtItem.EmbeddedObjects)) Then
ForAll o In rtItem.EmbeddedObjects
If (o.Type = EMBED_ATTACHMENT) Then
noAttachment = True
Else
noAttachment = True
End If
End ForAll
Else
noAttachment = True
End if
Else
noRTF = True
End If
本文に何も含まれていないドキュメントもありますが、$Fileには添付ファイル名が含まれています。どうやってそれを見つけますか?