Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LotusScript で文書へアクセスする方法

LotusScript で文書へアクセスする方法

この資料は、2025年8月7日開催の「のの会 第77回」で使用したものです。
LotusScript を使い、新規に作成する文書や既存の文書へアクセスする方法をサンプルコードを示して簡単に説明します。

Avatar for Haruyuki Nakano

Haruyuki Nakano

August 09, 2025
Tweet

More Decks by Haruyuki Nakano

Other Decks in Education

Transcript

  1. はじめに この資料では、Notes アプリケーション(データベース)にある文書 へ LotusScript 言語を使ってアクセスする方法を紹介します のの会のお知らせでは「LotusScript でビューから文書へアクセスす る」と記載しましたが、文書へアクセス(文書内のデータを取得)す る手段は多く、初回である今回はあえて「ビューから」に限定せずに

    (勝手に方針を変えて)ビュー以外からのアクセスも含めて紹介する ことにしました とは言え、プロパティやメソッドを完全に網羅することはせずに、私 の経験からよく使われるであろう手段をピックアップしてお届けしま す
  2. アクセスしたい文書 • 新規に作成した文書 • 開いている文書 • 文書固有のID • データベース内のすべての文書 •

    条件に一致する文書 • 未処理の(ビューで選択した)文書 • ビュー内のすべての文書 • ビューのソート列の値に一致する文書
  3. 文書へアクセスするためのクラス • 新規に作成した文書 • 開いている文書 • 文書固有のID • データベース内のすべての文書 •

    条件に一致する文書 • 未処理の(ビューで選択した)文書 • ビュー内のすべての文書 • ビューのソート列の値に一致する文書 NotesUIWorkspace NotesDatabase NotesView
  4. NotesUIWorkspace クラス 現在開いている文書を取得 NotesDocument オブジェクトを取得するには、 NotesUIDocument クラスの Document プロパ ティを使用する

    NotesUIDocument.FieldGetText で取得する値は、 フォーム上に表示する値。別名を許可するフィール ドの場合、この値は NotesDocument から取得する 値と異なる場合あり
  5. 【参考】未処理の文書をさらに絞り込む NotesDatabase.Unprocessed シリーズ • UnprocessedFTSearch メソッド UnprocessedDocumentsで返される文書コレクションに対して全文検 索を実行し、クエリに一致する文書のコレクションを返す • UnprocessedFTSearchRange

    メソッド UnprocessedFTSearch に開始パラメータが付いたもの • UnprocessedSearch メソッド UnprocessedDocumentsで返される文書コレクションに対して選択基 準に一致し、締切日以降に作成または変更された文書のコレクション を返す
  6. NotesDatabaseクラス <クラス>.<メソッド名> 取得する対象の文書 NotesDatabase.GetDocumentByUNID NotesDatabase.GetDocumentByID 特定の1文書 NotesDatabase.AllDocuments データベースの全ての文書 NotesDatabase.Search NotesDatabase.FTSearch

    条件を満たす文書 NotesDatabase.UnprocessedDocuments 未処理の文書 ビューの選択式(=検索条件)を利用し て文書を取得したい NotesView クラスを利用
  7. ビューから文書を取得する際のポイント • 実行中のコードがビューの表示内容に影響する(文書の削除・更新、 新規追加など) ビューの自動更新を AutoUpdate プロパティで一時的に止める • ビューが最新の状態とは限らない Refresh

    メソッドでビューを最新化する ※AutoUpdate および Refresh はユーザーに影響しない。フロントエ ンドビューを更新したり再構築するには NotesUIWorkspace の ViewRefresh および ViewRebuild を使用する
  8. NotesViewクラス <クラス>.<メソッドまたは プロパティ> 取得する対象の文書 NotesView.GetAllDocumentsByKey ソート列の値(キー)に一致 する全ての文書 NotesView.GetDocumentByKey ソート列の値(キー)に一致 する最初の文書

    NotesView.GetFirstDocument NotesView.GetNextDocument NotesView.GetLastDocument NotesView.GetPrevDocument NotesView.GetNthDocument 特定の位置にある文書 ビューの全てのエントリへアクセスする カテゴリや合計へアクセスする カテゴリの子や孫へアクセスする NotesViewNavigator クラス + NotesViewEntry クラス を利用