Top > OOoBasic > Generic > StyleFamilies

スタイルファミリー Edit

フォーマットに統一感のあるドキュメントを作るために利用されるスタイル。そのスタイルすべてをスタイルファミリーで管理します。

ページ設定などを変更するときにもこのスタイルファミリーを通して各スタイルを取り扱うことになります。

スタイルファミリーコンテナ Edit

スタイルファミリーコンテナはドキュメントオブジェクトから取得します。複数のスタイルファミリーがスタイルファミリーコンテナで管理されています。

oDoc = ThisComponent
oStyleFamilies = oDoc.getStyleFamilies()

スタイルファミリーコンテナで利用できるインターフェースは次のものです。これらのインターフェースを利用してスタイルファミリーオブジェクトを取得できます。

  • com.sun.star.container.XIndexAccess
  • com.sun.star.container.XNameAccess

スタイルファミリーの種類 Edit

ドキュメントの種類により利用できるスタイルの種類は異なります。

スタイルファミリー名モジュール
CharacterStylesWriter
ParagraphStylesWriter
FrameStylesWriter
NumberingStylesWriter
PageStylesWriter, Calc
CellStylesCalc
graphicsImpress, Draw
DefaultImpress

スタイルファミリー Edit

スタイルファミリーはスタイルファミリー名を指定して取得します。

oStyleFamily = oStyleFamilies.getByName("CellStyles")

スタイルファミリーから各スタイルにアクセスするために次のインターフェースが利用できます。

  • com.sun.star.container.XIndexAccess
  • com.sun.star.container.XNameContainer

スタイルの読み込み Edit

指定した URL のドキュメントからスタイルを読み込むことができます。

sDocURL = "file:///C:/usr/doc.odt"
Dim aArgs(0) As New com.sun.star.beans.PropertyValue
aArgs(0).Name = "OverwriteStyles"
aArgs(0).Value = True
oStyleFamiles.loadStylesFromURL(sDocURL,aArgs)

loadStylesFromURL メソッドに与えるオプションで読み込むスタイルの指定および、上書きを指定できます。スタイルごとの個別指定は出来ません。

com.sun.star.style.XStyleLoader インターフェース参照。

スタイルの複製 Edit

同じドキュメント中で同じ様なプロパティを持ったスタイルを複製していじって使用する場合には ParentStyle を一度設定します。

oStyles = oStyleFamilies.getByName("ParagraphStyle")

oNewStyle = ThisComponent.createInstance("com.sun.star.style.ParagraphStyle")
oNewStyle.setParentStyle("Preformatted Text")

' insert before changing properties
oStyles.insertByName("My Preformatted Text", oNewStyle)

oNewStyle.setParentStyle("")
oNewStyle.ParaLeftMagin = 1000

基本としたスタイル設定を自動的に追従させないようにするには次のように設定します。IsAutoUpdate を False に設定すれば FollowStyle は設定してもしなくてもどちらでも構いません。

oNewStyle.IsAutoUpdate = False
oNewStyle.FollowStyle = "" '

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes