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

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

2016年9月7日水曜日

リッチテキストに文字揃えを設定してから文字列を追加する

みなさん、こんにちは。

今日、9月7日はチャルメラが発売された日らしいです。まぁ、私は食べないので関係ないのですが・・・

さて、今日はqA9 for ICS Developersに投稿された質問に対してのサンプルを作成してみます。

お題は、リッチテキストフィールドに文字列を追加する際、右寄せの状態でできるか?
というものです。

答えはXスニペットというサイトに載せてありますので、参照してみてください。

こちら→文字揃えを設定してリッチテキストに文字列を追加するです。



ちなみに、リッチテキストに表を作成するのを含めたサンプルはこちら。
表自体の位置を設定することはできなさそう。
表のプロパティ

Function funcCreateRichText() As Boolean
    funcCreateRichText = False
    
    Dim session   As New NotesSession
    Dim db        As     NotesDatabase
    Dim doc       As     NotesDocument
    Dim ritem     As     NotesRichTextItem
    Dim rpara1    As     NotesRichTextParagraphStyle
    Dim rpara2(2) As     NotesRichTextParagraphStyle
    Dim uiws      As New NotesUIWorkspace
    
    On Error GoTo ErrProc
    
    '新規文書の作成
    Set db    = session.CurrentDatabase
    Set doc   = db.CreateDocument
    
    '文書情報の生成
    Call doc.ReplaceItemValue( "Form", "fmRichText" )
    Call doc.ReplaceItemValue( "Subject", "自動作成文書_" & Format( Now, "yyyymmddhhnnss" ) )
    
    'リッチテキスト段落属性の生成
    Set rpara1 = session.CreateRichTextParagraphStyle()
    
    'リッチテキストの生成(1)・・・リッチテキストに対して文字列を追加する
    Set ritem = New NotesRichTextItem( doc, "Body" )
    rpara1.Alignment = ALIGN_RIGHT
    Call ritem.AppendParagraphStyle( rpara1 )
    Call ritem.AppendText( "1行目:この行は右寄せで作成しています。" )
    rpara1.Alignment = ALIGN_CENTER
    Call ritem.AppendParagraphStyle( rpara1 )
    Call ritem.AppendText( "2行目:この行は中央寄せで作成しています。" )
    rpara1.Alignment = ALIGN_LEFT
    Call ritem.AppendParagraphStyle( rpara1 )
    Call ritem.AppendText( "3行目:この行は左寄せで作成しています。" )
    Call ritem.AddNewLine( 1 )
    
    'リッチテキストの生成(2)・・・リッチテキストに対して表を追加する
    Set rpara2(0) = session.CreateRichTextParagraphStyle()        '1列目用
    Set rpara2(1) = session.CreateRichTextParagraphStyle()        '2列目用
    Set rpara2(2) = session.CreateRichTextParagraphStyle()        '3列目用
    
    rpara2(0).FirstLineLeftMargin = RULER_ONE_CENTIMETER * 0.15
    rpara2(0).LeftMargin          = RULER_ONE_CENTIMETER * 0.15
    rpara2(0).RightMargin         = RULER_ONE_CENTIMETER * 4
    rpara2(1).FirstLineLeftMargin = RULER_ONE_CENTIMETER * 0.15
    rpara2(1).LeftMargin          = RULER_ONE_CENTIMETER * 0.15
    rpara2(1).RightMargin         = RULER_ONE_CENTIMETER * 6
    rpara2(2).FirstLineLeftMargin = RULER_ONE_CENTIMETER * 0.15
    rpara2(2).LeftMargin          = RULER_ONE_CENTIMETER * 0.15
    rpara2(2).RightMargin         = RULER_ONE_CENTIMETER * 8
    Call ritem.AppendTable( 2, 3, , , rpara2 )
    
    '作成した文書の保存
    Call doc.Save( True, True, True )
    
    'ビューのリフレッシュ
    Call uiws.ViewRefresh()
    
    funcCreateRichText = True
    Exit Function
    
ErrProc:
    Error Err, Error
    
    Exit Function
End Function



LotusScriptでリッチテキストを操作する方法は他にも色々ありますし、当ブログでも紹介していますので、併せて読んでいただくとより理解が深まるかと思います。



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

0 件のコメント: