今回は、リッチテキストに表示する文字のスタイルをセットする方法についてです。
LotusScript では、文字のスタイルをセットするクラス NotesRichTextStyle が定義されています。今回は、このクラスの使い方を整理することになります。
NotesRichTextStyle (LotusScript®)
サンプルプログラム
今回は先に NotesRichTextStyle を使用したサンプルプログラムを先に紹介します。
Sub Initialize Dim ns As New NotesSession Dim ndb As NotesDatabase Dim nd As NotesDocument Dim nrti As NotesRichTextItem Dim nrts As NotesRichTextStyle Set ndb = ns.CurrentDatabase Set nd = ndb.CreateDocument() nd.Form = "RichText" nd.Title = "リッチテキスト:#5)文字のスタイル設定" Set nrti = nd.CreateRichTextItem("Body") Set nrts = ns.CreateRichTextStyle() '1行目 Call nrti.AppendText("デフォルトの文字のスタイル設定") '2行目 Call nrti.AddNewLine(1) nrts.Bold = True Call nrti.AppendStyle(nrts) Call nrti.AppendText("太字の文字です。") Call nd.Save(True, False) End Sub |
このプログラムを実行すると以下のような結果になります。
NotesRichTextStyle の使い方と特徴
このクラスも NotesRichTextParagraphStyle と同じく、事前に NotesSession クラスの CreateRichTextStyle メソッドで事前にオブジェクトを作成します。
作成したオブジェクトに必要なスタイルをセット(サンプルでは太字の設定)、それを AppendStyle でリッチテキストに反映すると、以降リッチテキストに追加する文字がそのスタイルとなります。
NotesRichTextStyle の特徴は、1行の中でいくつもスタイルがセットできるところにあります。
Set nrti = nd.CreateRichTextItem("Body") Set nrts = ns.CreateRichTextStyle() Call nrti.AppendText("デフォルトでスタート。") nrts.Underline = True Call nrti.AppendStyle(nrts) Call nrti.AppendText("下線の設定をして、") nrts.Bold = True Call nrti.AppendStyle(nrts) Call nrti.AppendText("ここだけ太字!") nrts.Underline = False nrts.Bold = False Call nrti.AppendStyle(nrts) Call nrti.AppendText("そして元に戻します。") Call nd.Save(True, False) |
例えば、上記のように記述すると、結果は以下のようになります。
NotesRichTextParagraphStyle との違い
リッチテキストにスタイルをセットするクラスは、NotesRichTextParagraphStyle と NotesRichTextStyle がありました。どちらも似たような名前で、使い方 もNotesSession クラスから作成して、NotesRichTextItem に食べさせるので同じです。
この二つのクラスはスタイルの設定を、リッチテキストの1行全体に適用されるか、文字ごとに適用されるか、が違いとなります。
この1行をノーツ用語で段落(Paragraph)というようです。
ざっくりいうと、文字のプロパティの [フォント] タブを担当するのが NotesRichTextStyle となり、文字ごとに設定できます。
[段落] タブを担当するのが、NotesRichTextParagraphStyle で、段落単位の設定をするということになります。
前回 | リッチテキストの基本操作 | 次回 |
0 件のコメント:
コメントを投稿