よく使う機能ですが、いざ使うとなるとついついヘルプを見てしまう機能にプロフィール文書があります。そこで、プロフィール文書の基本的な取り扱いについてまとめておきます。
プロフィール文書とは
nsf 内に保存できる特殊な文書です。文書ではあるのですが、DB のプロパティの文書数にカウントされず、ビューに表示することができないのが特徴です。そして、作成されたプロフィール文書は、アプリケーションの利用者で共有します。
このような特性から、一般的には、アプリケーションの設定などの保存に利用します。設計と文書の中間的な位置づけと言えますね。
プロフィール文書の作成方法
一般的な作成方法について記述します。
まず、プロフィール文書のフォームを作成します。
作成手順は通常のフォームと同様です。ポイントは、文書の作成方法です。次の式でフォームを開き、保存するとプロフィール文書として保存される仕組みとなっています。"fConfigForm" は、プロフィール文書のフォーム名です。
@Command([EditProfile]; "fConfigForm")
|
保存後、もう一度このコマンドを実行すると、前回保存した内容が開き、内容を再編集し更新することができます。
LotusScript の場合、NotesUIWorkspace クラスの EditProfile メソッドを使用します。
Call notesUIWorkspace.EditProfile("fConfigForm")
|
プロフィール文書のアクセス(@関数)
次の式でプロフィール文書から値を読み込みます。次の式では、指定したプロフィール文書の "DBPath" というフィールドの値を取得します。
@GetProfileField("fConfigForm"; "DBPath")
|
次の式でプロフィール文書の "DBPath" というフィールドに値をセットします。
@SetProfileField("Profile"; "DBPath"; "names.nsf")
|
LotusScript の場合
LotusScript からもプロフィール文書にアクセスできます。
ただ、@関数と違い直接的にプロフィール文書内のフィールドにアクセスするのではなく、NotesDocument のオブジェクト経由でアクセスします。プロフィール文書の取得は NotesDatabase クラスの GetProfileDocument メソッドを使用します。
Dim ns As New NotesSession Dim ndb As NotesDatabase Dim nd As NotesDocument Set ndb = ns.CurrentDatabase Set nd = ndb.GetProfileDocument("Profile") MsgBox nd.DBPath(0) |
そして、フィールドのアクセスは、NotesDocument オブジェクト経由で通常のフィールドと同様にアクセスできます。
もちろん、フィールドに値をセットすることができます。
nd.DBPath = "names.nsf"
|
ただし、プロフィール文書の場合 Save メソッドを使用して明示的に保存する必要はありません。フィールドに値をセットするだけで、プロフィール文書が更新されます。
0 件のコメント:
コメントを投稿