当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2008年10月9日木曜日

スクリプトでテキストリストを操作する

テキストリストを扱ってみよう。
テキストフィールドに複数の値をセットしたいときに便利。

サンプルは、自文書の返答文書として、文書を作成。
その文書のテキストフィールド(複数値可)に値をリストとして追加していくというもの。


Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim uiws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    
    '返答文書関連の変数の定義
    Dim resdoc As NotesDocument
    Dim item As NotesItem
    Dim subject As String
    
    'DBの全文書関連の変数の定義
    Dim docs As NotesDocumentCollection
    Dim doc2 As NotesDocument
    Dim i As Integer
    
    '自DBを取得する
    Set db = session.CurrentDatabase
    
    '自文書を取得する
    Set uidoc = uiws.CurrentDocument
    Set doc = uidoc.Document
    
    '返答文書の作成(resdocがdocの返答文書になる)
    Set resdoc = db.CreateDocument
    Call resdoc.MakeResponse( doc )
    
    'テキストフィールドをクリアする
    Set item = resdoc.ReplaceItemValue( "TextField" , "" )
    
    'DBの全文書のタイトルを取得して、テキストリスト形式で返答文書に埋め込む
    Set docs = db.AllDocuments
    For i = 1 To docs.Count
        Set doc2 = docs.GetNthDocument( i )
        subject = doc2.Subject( 0 )
        Call item.AppendToTextList( subject )
    Next
    
    'その他の項目を設定
    resdoc.Form = "Response2"
    resdoc.Subject = "バックグラウンドで作成した返答文書"
    
    '返答文書を変更したので保存する
    Call resdoc.Save( True, True )
End Sub





Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。
IBM Championの私が承ります!
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ


0 件のコメント: