当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2008年5月22日木曜日

文書の添付ファイルを剥がす

昨日は、ノーツ文書にファイルを添付するということを実現した。
今日は、その添付ファイルを剥がす(削除する)ということをやってみたい。

ポイントは、NotesEmbeddedObjectクラスのRemobeメソッド。
これで、添付オブジェクトを削除できるのである。
これを応用すると、添付ファイル以外も削除できそうである。

サンプルは、自文書の返答文書にある添付ファイルを削除してしまうというものである。
くれぐれもテスト用にDBを作成してから実行してほしい。
削除された添付ファイルは元に戻らないので・・・
-------------------------------------------------------------------------
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim resdocs As NotesDocumentCollection
Dim resdoc As NotesDocument
Dim ritem As NotesRichTextItem
Dim afile As NotesEmbeddedObject

'自文書の設定
Set db = session.CurrentDatabase
Set uidoc = uiws.CurrentDocument
Set doc = uidoc.Document

'自文書の返答文書を取得する
Set resdocs = doc.Responses
Set resdoc = resdocs.GetFirstDocument

'返答文書のリッチテキストフィールドを取得
Set ritem = resdoc.GetFirstItem( "Body" )

'リッチテキストフィールドの添付ファイルを削除する
Set afile = ritem.GetEmbeddedObject( "script.csv" )
Call afile.Remove

'文書の保存
Call resdoc.Save( True , True )
End Sub

0 件のコメント: