*Configurations [#d526b33f] OOo の設定は色々な種類がありますが、ここでは OpenOffice.org/user/registry および OpenOffice.org/shared/registry 以下に保存される設定を取り扱います。 ここで取り扱える設定は以下のようなものがあります。 -ツール - オプションで変更できる多くの設定 -UI の設定 (メニューバー、ツールバー、ステータスバー、キー設定を含まない) -フィルター関連 //-ucb OOo のバージョンによって設定が変更されるため注意が必要です。 #contents **Configuration schema と data [#m2158d8c] 設定は schema .xcs ファイルで設定の項目などを定義、実際の設定は data .xcu ファイルに書き込まれます。 OOo の設定 schema の保存ディレクトリは -OpenOffice.org/shared/registry/schema どのような設定項目があるか調べるために閲覧する必要があります。 また、拡張機能で作成された schema は以下にコピーされます。 -OpenOffice.org/user/uno_packages/cache/registry/~ com.sun.star.comp.deployment.configuration.PackageRegistryBackend/~ registry/schema 設定が書き込まれた data ファイルは以下に保存されます。 -OpenOffice.org/user/registry/data -OpenOffice.org/shared/registry/data shared ではデフォルトの値が設定され、user で同じ設定があるときには設定が上書きされます。(全てかどうか不明) data ファイルがなくても schema でデフォルト値が設定されていることがあります。 詳細: http://util.openoffice.org/common/configuration/oor-registry.html **パッケージとファイル [#o0eea6c6] 設定 schema と data ファイルにはヘッダに次のように書かれています。 oor:name="Addons" oor:package="org.openoffice.Office" -oor:package: パッケージ名 -oor:name: コンポーネント名 これらは設定にアクセスするときに利用します。 -コンポーネントフルパス: org.openoffice.Office.Addons --パッケージ名: org.openoffice.Office --コンポーネント名: Addons **キャッシュ [#q082ac93] 設定 data はキャッシュされ、普段はキャッシュが読み込まれます。 -OpenOffice.org/user/registry/cache 手動で設定ファイルを編集したときには対応するキャッシュファイルを削除しなければ変更が有効になりません。 **各ファイル設定概要 [#d6a11075] 各種オプション設定ページに関連しているものもあります (Extensions - Example などのように記載)。 ***org.openoffice [#u8810822] |FirstStartWizard|初回起動時のウィザード設定| |Inet Internet|検索エンジン設定。Internet - Search| |LDAP|LDAP| |Setup|OOo バージョン、インストールされたファクトリ名| |System|| |UserProfile|ユーザープロファイル設定。OpenOffice.org - User Data| |VCL|VCL 関連。フォント定義など| ***org.openoffice.Office [#b3c8bf71] |Addons|アドオン、拡張機能関連。ツールバー、メニューバー、アイコンイメージ| |Calc|Calc 設定。OpenOffice.org Calc - General, View, Calculate, Sort Lists, Changes, Grid, Print、ステータスバー、Load/Save - VBA Properties| |CalcAddIns|Calc アドイン関数関連| |Chart|チャート色設定。Charts - Default Colors| |Command|コマンド設定| |Common|OpenOffice.org - General, Memory, View, Print, Fonts, Security、Accessibility, Load/Save - General、 Language Settings - Searching in Japanese, Asian Layout、履歴リスト、フィルター設定、ダイアログ設定、オートコレクト設定、画像サイズ、その他多数| |Compatibility|ファイル互換性関連。Load/Save - General| |DataAccess|データベースドライバー設定。OpenOffice.org Base - Connections, Databases| |Draw|Draw 設定。OpenOffice.org Draw - General, View, Grid, Print、その他| |Embedding|埋め込み型オブジェクト設定| |Events|アプリケーションイベント設定。ツール - カスタマイズ - イベント| |ExtendedColorSchema|拡張色設定。OpenOffice.org - Appearance| |ExtensionManager|拡張機能マネージャ設定。レポジトリへのリンク| |FormWizard|フォームウィザード設定| |Impress|Impress 設定。OpenOffice.org Impress - General, View, Grid, Print その他| |Java|Java 関連。(現在不使用?)| |Jobs|ジョブ設定| |Labels|ラベル印刷で利用されるラベルのサイズ| |Linguistic|言語、地域設定。Language Settings - Languages, Writing Aids その他| |Logging|ログ取得設定| |Math|Math 設定。OpenOffice.org Math - Settings、その他| |OptionsDialog|オプションダイアログ設定。拡張機能などで利用| |Paths|パス設定。OpenOffice.org - Paths、その他| |ProtocolHandler|プロトコルハンドラ設定| |Recovery|ファイルのリカバリリストと設定| |ReportDesign|レポートデザイナー| |Scripting|Scripting Framework script 設定| |Security|Secure file extension リスト| |SFX|SFX ヘルプ設定| |Substitution|ユーザー定義パス置換リスト| |TabBrowse|タブ機能利用時設定| |TableWizard|データベーステーブルウィザード設定| |TypeDetection|フィルター設定| |UI|UI 表示設定| |Views|ビュー設定。ダイアログ、ウィンドウなど設定| |WebWizard|ウェブウィザード設定| |Writer|Writer 設定。OpenOffice.org Write - General, View, Grid, Basic Fonts (Western), Basic Fonts (Asian), Print, Table, Changes, Compatibility, AutoCaption, Mainl Merge E-mail、その他| |WriterWeb|Writer Web 設定。OpenOffice.org Writer/Web - View, Formatting Aids, Grid, Print, Table, Background| ***org.openoffice.TypeDetection [#la9db976] |Filter|フィルター定義設定| |GraphicFilter|画像フィルター定義設定| |Misc|一般フィルター定義設定| |Types|ファイルタイプ定義| |UISort|UI 表示順| ***org.openoffice.ucb [#z51eda45] |Configuration|UCB 一般設定| |Hierarchy|UCB が利用する階層設定| |Store|コンテンツリスト| ***org.openoffice.Office.UI [#c90b2a91] 各種 UI サイズ配置、コマンドラベル名など **読み込みと変更 [#ia783cba] 設定を取り扱うには com.sun.star.configuration モジュールを利用します。このモジュールでは設定の読み込み、変更、shared のファイルまで取り扱えます。 一般的な読み込みと変更を取り上げます。そのほかについては Developers Guide の Configuration の章参照。 設定は階層化されているため、順次上からもしくは途中から下の階層へアクセスしていく必要があります。 ***ConfigurationProvider [#a9a76e88] com.sun.star.configuration.ConfigurationProvider サービスから読み込みおよび変更に利用するサービスをインスタンス化する必要があります。 oCP = CreateUnoService("com.sun.star.configuration.ConfigurationProvider") ***読み込み [#taf8237b] 設定の読み込みだけを扱うサービス com.sun.star.configuration.ConfigurationAccess を利用できます。このサービスでは設定を書き込むことはできません。 ConfigurationAccess サービスは ConfigurationProvider に nodepath を指定してインスタンス化します。nodepath に指定するのはコンポーネントフルパスなどです。このとき、Root からを示すように "/" を最初に付けます。 Sub configurationaccess_1 oCP = CreateUnoService("com.sun.star.configuration.ConfigurationProvider") Dim oNode(0) As New com.sun.star.beans.PropertyValue oNode(0).Name = "nodepath" oNode(0).Value = "/org.openoffice.Office.Paths" oCA = oCP.createInstanceWithArguments( _ "com.sun.star.configuration.ConfigurationAccess", oNode ) End Sub プロパティ値取得に利用できるのは次のインターフェースです。 -com.sun.star.beans.XPropertySetInfo -com.sun.star.container.XHierarchicalNameAccess -com.sun.star.container.XNameAccess /org.openoffice.Office.Paths node の下には Paths プロパティがあります。 oPaths = oCA.getByHierarchicalName("Paths") のようにして取得できます。また、次にようにすれば一度にこの階層にアクセスできます。 Dim oNode(0) As New com.sun.star.beans.PropertyValue oNode(0).Name = "nodepath" oNode(0).Value = "/org.openoffice.Office.Paths/Paths" oPaths = oCP.createInstanceWithArguments( _ "com.sun.star.configuration.ConfigurationAccess", oNode ) //値の取得に次のインターフェースが利用できるものもあります。 //-com.sun.star.beans.XMultiPropertySet ***変更 [#nd362cee] 設定の変更は com.sun.star.configuration.ConfigurationUpdateAccess サービスを書き込み時と同様にインスタンス化して利用します。 Sub configurationupdateaccess_1 oCP = CreateUnoService("com.sun.star.configuration.ConfigurationProvider") Dim oNode(0) As New com.sun.star.beans.PropertyValue oNode(0).Name = "nodepath" oNode(0).Value = "/org.openoffice.Office.Paths" oCUA = oCP.createInstanceWithArguments( _ "com.sun.star.configuration.ConfigurationUpdateAccess", oNode ) End Sub 変更後 commitChanges メソッドを呼び出して変更を適用してください。一部の設定変更は OOo を再起動しないと適用されないことがあります。 ** share コンフィグレーションの読み込みと変更 [#k24db25c] デフォルト設定の share に保存されているコンフィグレーションは &idlref(com.sun.star.configuration.AdministrationProvider); サービスを利用すると読み込み、変更できます。このサービスは 3.3 で削除されました。 Sub ChangeAdminConfigSecurity ' allows to access shared configuration oAdminProv = CreateUnoService("com.sun.star.configuration.AdministrationProvider") ' security node aNode = CreateUnoStruct("com.sun.star.beans.PropertyValue") aNode.Name = "nodepath" aNode.Value = "/org.openoffice.Office.Common/Security/Scripting" ' updatable oConfigWriter = oAdminProv.createInstanceWithArguments( _ "com.sun.star.configuration.ConfigurationUpdateAccess", Array(aNode)) oConfigWriter.SecureURL = Array(ConvertToURL("/usr/library")) ' in url notification ' commit oConfigWriter.commitChanges() End Sub |