次のエージェントは、コンテントがすでにエンコードされている (base64 または quoted-printable) 場合を除いて、1 パートの MIME エンティティのエンコードを変更します。
Sub Initialize
Dim ws As New NotesUIWorkspace
Dim s As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim mime As NotesMIMEEntity
Dim mm(ENC_NONE To ENC_EXTENSION) As String
mm(ENC_BASE64) = "base64"
mm(ENC_EXTENSION) = "Extension"
mm(ENC_IDENTITY_7BIT) = "7bit"
mm(ENC_IDENTITY_8BIT) = "8bit"
mm(ENC_IDENTITY_BINARY) = "binary"
mm(ENC_NONE) = "None"
mm(ENC_QUOTED_PRINTABLE) = "quoted-printable"
Set db = s.CurrentDatabase
s.ConvertMIME = False ' Do not convert MIME to rich text
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
While Not(doc Is Nothing)
Set mime = doc.GetMIMEEntity
If Not(mime Is Nothing) Then
Call mime.DecodeContent()
m = ws.Prompt(PROMPT_OKCANCELLIST, _
"Encoding", _
"How do you want to encode this MIME entity?", _
"quoted-printable", mm)
If m = "" Then Goto ExitSub
For n = ENC_NONE To ENC_EXTENSION
If m = mm(n) Then
Call mime.EncodeContent(n)
Exit For
End If
Next
Else
Messagebox "Not processed",, "Not MIME"
End If
Call doc.Save(True, True)
Set doc = dc.GetNextDocument(doc)
Wend
ExitSub:
s.ConvertMIME = True ' Restore conversion
End Sub