Top > OOoBasic > Generic > StyleFamilies
*スタイルファミリー [#n5561547]

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

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

#contents

**スタイルファミリーコンテナ [#s1848586]

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

 oDoc = ThisComponent
 oStyleFamilies = oDoc.getStyleFamilies()

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

-com.sun.star.container.XIndexAccess
-com.sun.star.container.XNameAccess
**スタイルファミリーの種類 [#u5b072e1]

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

|スタイルファミリー名|モジュール|
|CharacterStyles|Writer|
|ParagraphStyles|Writer|
|FrameStyles|Writer|
|NumberingStyles|Writer|
|PageStyles|Writer, Calc|
|CellStyles|Calc|
|graphics|Impress, Draw|
|Default|Impress|
**スタイルファミリー [#ecab2786]

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

 oStyleFamily = oStyleFamilies.getByName("CellStyles")

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

-com.sun.star.container.XIndexAccess
-com.sun.star.container.XNameContainer
**スタイルの読み込み [#l1953c7a]

指定した 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 インターフェース参照。

** スタイルの複製 [#k84585e6]
同じドキュメント中で同じ様なプロパティを持ったスタイルを複製していじって使用する場合には 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