本文へジャンプ

ソフトウェア > Lotus > Lotus Developer Domain > 製品別技術情報 > Lotus Notes/Domino > 

LDD Today

未保存文書のプロパティーのハンドルの取得

Lotus Software
by Anthony Vanlerberghe
レベル:上級者
対 象: すべて
原文の掲載:2002年1月2日

LDD Today の原文(US)

新しい文書とその文書プロパティーは、文書を保存するまではメモリーのみに存在することは周知のとおりです。しかし、一部のアプリケーションでは、ユーザーが文書を保存する前にこの文書情報を操作したり使用できると便利です。作成中のフォームのPostopenイベントで文書を宣言して設定するというちょっとした設計作業を行うことで、新しく作成された文書の文書プロパティーのハンドルを取得できます。以下に、その方法を示します。

最初に、以下のコードを使ってアクション・ボタンから呼び出される「エージェント」を作成します。たとえば、[新規文書作成]アクション・ボタンをビューに作成します。

Dim ws As New NotesUIWorkspace
Dim newDoc As notesdocument
Dim newUIdoc As notesuidocument
Set newUIdoc = ws.composeDocument("","","newDoc")
Set newDoc = newUIdoc.document 'This will get handle on document to allow manipulation

次に、文書のフォームのPostopenイベントに、以下を追加します。

Sub Postopen(Source As Notesuidocument)
Dim doc As NotesDocument
Set doc = Source.Document
End Sub

これにより、アプリケーションの必要に応じて、LotusScriptを通して文書プロパティーを使用することが可能になります。作成日、フィールド名、UNIDなどの必要な情報を取得できます。たとえば、以下のバリエーションは、新しい文書の作成日を示すメッセージ・ボックスを表示します。

Sub Postopen(Source As Notesuidocument)
Dim doc As NotesDocument
Set doc = Source.Document
Dim createDate As Variant
createDate = doc.Created
Messagebox (createdate)
End Sub