現在開いているバックエンドの文書にアクセスするには、NotesUIWorkspace と NotesUIDocument の各クラスを使用します。NotesUIView クラスを使用すると、Documents プロパティで、ビューのバックエンド文書にアクセスできます。
NotesUIDocument は、ユーザーが画面上で見る内容に関係する「フロントエンド」オブジェクトです。NotesUIDocument.Document プロパティは、対応する「バックエンド」の NotesDocument オブジェクトを返します。このオブジェクトは、文書の保存時にディスク上に格納される内容を示します。この NotesDocument オブジェクト (NotesUIDocument との関係を持つ特殊な NotesDocument) 内のフィールドに変更を加えると、変更内容が画面上に直ちに反映されます。この NotesDocument は、編集中の文書に対して機能するボタンやアクションを作成する際に非常に便利です。これを使用する際には、以下のことを検討してください。
NotesUIDocument から取得した文書上で NotesDocument.Save を呼び出さないでください。 UI はこの文書が保存されていることを認識しません。ユーザーがこの文書をさらにフロントエンドで (例えば、メニューから [ファイル] > [保存] を使用して) 保存すると、Notes はこれを保存の競合として検出します。
バックエンドで保存を実行する必要がある場合は、ユーザーが保存の競合を発生させるのを防ぐため、NotesUIDocument を直ちに閉じることをお勧めします。文書が編集モードになっている場合は、SaveOptions フィールドを "0" に設定すると、ユーザーに保存を求めるプロンプトを出さずに文書を閉じることができます。
NotesUIDocument が認識するのは、フィールド内のテキストについてのみです。フィールドが数値型または日時型の場合、NotesUIDocument.FieldGetText メソッドは画面上に表示可能な文字を返します。ただし、GetItemValue などを使用して NotesDocument から値を求めると、フィールドに当該型の有効な値が含まれていれば、数値または日時値が得られます。
NotesDocument を使用すると、区切り文字で区切られた文字列ではなく配列としてフィールド値を取得できるため、特に複数値フィールドに便利です。これを使用すると、フォームの設計が変更され、以前とは異なる区切り文字が使用されていても壊れないコードを作成できます。
キーワードフィールドに同義語の値 ("Yes | 1"、"No | 0") が入る場合、NotesUIDocument はユーザー表示値 ("Yes" または "No") を処理しますが、NotesDocument は格納された値 ("1" または "0") しか認識しません。これを使用すると、格納された値をバックエンドで操作するコードを作成でき、そのコードは、格納された値に対応するユーザー表示値が変更された場合や、多言語アプリケーションなどでユーザー文字列に複数のバージョンがある場合でも壊れないため便利です。
リッチテキストフィールドは特殊で難しいフィールドです。画面上の内容を反映して NotesRichTextItem の内容を最新の状態にするには、NotesUIDocument.Refresh(True) を呼び出す必要があります。 NotesRichTextItem のメソッドを使用してリッチテキストに変更を加えた場合、その変更内容を画面上に表示させるには、文書を閉じて再び開く必要があります。
NotesRichTextItem を使用してリッチテキストを変更すると、変更内容は画面上に表示されませんが、ユーザーが UI を通して文書を保存する際に変更内容が保存されます。これが機能するのは、ユーザーが同じリッチテキストフィールドに対して手動で変更を加えていない場合です。このような手動変更は、バックエンドでの変更よりも優先されます。したがって、この手法は、ユーザーが編集できない「計算結果」リッチテキストフィールドで使用する場合や、更新されたリッチテキストを表示するために直ちに文書を閉じて再び開くことが実用的な場合に特に便利です。
リッチテキストを再表示する必要がある場合や、通常はオープン時にのみ表示されるその他の情報を編集モード中に更新する必要がある場合は、文書を保存せずに閉じて再び開くことで実行できます。「文書を保存せずに閉じて再び開く」を参照してください。
NotesUIDocument クラスには、次のプロパティがあります。
プロパティ |
データ型 |
説明 |
---|---|---|
Boolean 型 |
(読み書き可能) 変更があったときに自動的に現在の文書を再ロードする場合は True。 |
|
String |
(読み込み専用) 文書が編集モードの場合、現在のフィールドの名前。 |
|
Boolean 型 |
(読み込み専用) ユーザーがダイアログをキャンセルしたかどうかを示します。 |
|
NotesDocument |
(読み込み専用) この文書ウィンドウに関連付けられた NotesDocument オブジェクトへの参照です。これによりバックエンドのプロパティとメソッドにアクセスできます。NotesDocument オブジェクトを使用してアイテムを変更、保存した場合、そのアイテムはリッチテキストアイテム以外であれば、ワークスペース内で自動的に更新されます。 |
|
Boolean 型 |
(読み書き可能) 編集モードの場合は True。 |
|
Boolean 型 |
(読み書き可能) フィールドヘルプを表示する場合は True。 |
|
Boolean 型 |
(読み書き可能) 水平スクロールバーが表示される場合は True。 |
|
Boolean 型 |
(読み書き可能) 非表示文字を表示する場合は True。 |
|
Boolean 型 |
(読み込み専用) 文書がプリビューペインからアクセス中の場合は True。 |
|
Boolean 型 |
(読み込み専用) 文書がまだ保存されていない場合は True。 |
|
Boolean 型 |
(読み書き可能) ペインに親文書を表示する場合は True。 |
|
Boolean 型 |
(読み書き可能) ペインに文書リンクを表示する場合は True。 |
|
Boolean 型 |
(読み書き可能) ルーラーを表示する場合は True。 |
|
String |
(読み込み専用) ウィンドウタイトルの名前。 |
NotesUIDocument クラスには次のメソッドがあります。
メソッド |
説明 |
---|---|
現在の文書をカテゴリ別に分類します。 |
|
選択された文字列を消去します。 |
|
現在の文書を閉じます。 |
|
文書の全セクションを省略します。 |
|
選択された文字列をクリップボードへコピーします。 |
|
リッチテキストアイテムにオブジェクトを作成します。 |
|
選択された文字列を切り取り、クリップボードに置きます。 |
|
現在の文書に削除マークを付けてから文書を閉じます。一度このメソッドを呼び出すと NotesUIDocument オブジェクトは使用できなくなります。 |
|
現在のフィールドの全内容の選択を解除します。 |
|
文書の全セクションを展開します。 |
|
指定された文字列を、指定されたフィールドまたは現在のフィールドに添付します。 |
|
指定されたフィールドまたは現在のフィールドの内容を消去します。 |
|
指定されたフィールドまたは現在のフィールドに、指定された (大文字小文字を区別する) 文字列が含まれる場合、True を返します。 |
|
指定されたフィールドまたは現在のフィールドの文字列を取得します。 |
|
指定されたフィールドまたは現在のフィールドに、指定された文字列を設定します。 |
|
[空き時間の検索] ボックスを表示します。 |
|
会議用に空いている時間を検索できるように [空き時間の検索] ボックスを表示します。 |
|
指定されたフィールドで文字列を検索します。 |
|
新規メール文書を作成し、受信者の入力を求めます。 |
|
指定されたオブジェクトを取得します。 |
|
埋め込みスケジューラを取得します。 |
|
UI 文書で選択された文字列を取得します。 |
|
最初のフィールドに移動するか、文書の先頭までスクロールします。 |
|
最後のフィールドに移動するか、文書の最後までスクロールします。 |
|
文書内の指定された名前のフィールドにカーソルを置きます。 |
|
次のフィールドに移動するか、スクロールして表示します。 |
|
前のフィールドに移動するか、スクロールして表示します。 |
|
文書の最初の編集可能フィールドか最初のボタンにカーソルを置きます。 |
|
ファイルを文書に呼び出します。 |
|
指定された文字列を現在のカーソル位置に挿入します。 |
|
URL ナビゲーションバーのテキストを設定します。 |
|
URL ナビゲーションバーのスピナーを開始します。 |
|
URL ナビゲーションバーのスピナーを停止します。 |
|
クリップボードにある文字列を現在のカーソル位置に貼り付けます。 |
|
現在の文書を印刷します。 |
|
文書を更新します。 |
|
現在の文書の非表示切り替え式を再計算します。この操作の負荷は大きくなります。 |
|
保存された文書に加えられた変更内容で現在の文書を更新します。 |
|
現在の文書を保存します。 |
|
現在の文書を名前を付けて保存します。 |
|
現在のフィールドのすべての内容を選択します。 |
|
現在の文書をメール送信して閉じます。 |
|
文書中のスペルをチェックします。 |
NotesUIView クラスには、次のプロパティがあります。
プロパティ |
データ型 |
説明 |
---|---|---|
DATE 形式の Variant 型 |
(読み込み専用) カレンダービューの現在の地域の日時。 |
|
Variant 型 |
(読み込み専用) 現在の文書に対する、ビューの現在のカテゴリを返します。 |
|
NotesDocumentCollection |
(読み込み専用) 現在の NotesUIView イベントが動作中の全文書。 |
|
NotesView |
(読み込み専用) 現在開いているビューに対応するバックエンドビュー。 |
NotesUIView クラスには、次のメソッドがあります。
メソッド |
説明 |
---|---|
@Command([FilePrint]) を実行します。現在開いているか選択されている文書、または現在のビューを印刷します。 |
|
指定された文書をビューで選択します。 |
NotesUIView のイベント一覧については「プログラミングの概要」の章で「イベントの説明」を参照してください。