通常、文書に割り振られる NoteID は、UNID とは違い、レプリカであっても同じ NoteID にはならないそうです。
しかしながら、アイコンの絵柄が保存される Note はどのアプリケーションにも同じ NoteID が割り振られ、
NotesDatabase.GetDocumentByID( "FFFF0010" )
とすることで NotesDocument オブジェクトとして取得できます。
ところで、この Note にはアイコンの図柄のほかにアプリケーションのプロパティの一部も保存されているのをご存知でしょうか。
アプリケーションのプロパティにあるラジオボタンやチェックボックスなどで選択された値の一部は $Flags というアイテムに英数字で保存されています。
もちろん、これらの値は変更できます。
下の Lotus Script では、プロパティにある5つのチェックボックスを無効にします。
Sub Initialize Dim ss As New NotesSession Dim db As NotesDatabase Dim doc As NotesDocument Dim item As NotesItem Set db = ss.CurrentDatabase Set doc = db.GetDocumentByID( "FFFF0010" ) Set item = doc.GetFirstItem( "$Flags" ) Print item.Text Dim strFind( 4 ) As String Dim strReplace( 0 ) As String strFind( 0 ) = "N" '文書データの圧縮 strFind( 1 ) = "q" 'データベース設計の圧縮 strFind( 2 ) = "H" '返答スレッド履歴のサポート strFind( 3 ) = "7" 'データベースで多くのフィールドを許可 strFind( 4 ) = "2" '文書テーブルマップの最適化 strReplace( 0 ) = "" item.Values = Replace( item.Values, strFind, strReplace ) Call doc.Save( True, False ) End Sub
それぞれのプロパティの項目とその値は下のサイトなどを参照ください。
(参考)プログラムを使用してデータベースプロパティを変更する方法
Programmatically change database properties
0 件のコメント:
コメントを投稿