Top > OOoBasic > Generic > Configurations

Configurations Edit

OOo の設定は色々な種類がありますが、ここでは OpenOffice.org/user/registry および OpenOffice.org/shared/registry 以下に保存される設定を取り扱います。

ここで取り扱える設定は以下のようなものがあります。

  • ツール - オプションで変更できる多くの設定
  • UI の設定 (メニューバー、ツールバー、ステータスバー、キー設定を含まない)
  • フィルター関連

OOo のバージョンによって設定が変更されるため注意が必要です。

Configuration schema と data Edit

設定は 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

パッケージとファイル Edit

設定 schema と data ファイルにはヘッダに次のように書かれています。

oor:name="Addons" oor:package="org.openoffice.Office"
  • oor:package: パッケージ名
  • oor:name: コンポーネント名

これらは設定にアクセスするときに利用します。

  • コンポーネントフルパス: org.openoffice.Office.Addons
    • パッケージ名: org.openoffice.Office
    • コンポーネント名: Addons

キャッシュ Edit

設定 data はキャッシュされ、普段はキャッシュが読み込まれます。

  • OpenOffice.org/user/registry/cache

手動で設定ファイルを編集したときには対応するキャッシュファイルを削除しなければ変更が有効になりません。

各ファイル設定概要 Edit

各種オプション設定ページに関連しているものもあります (Extensions - Example などのように記載)。

org.openoffice Edit

FirstStartWizard初回起動時のウィザード設定
Inet Internet検索エンジン設定。Internet - Search
LDAPLDAP
SetupOOo バージョン、インストールされたファクトリ名
System
UserProfileユーザープロファイル設定。OpenOffice.org - User Data
VCLVCL 関連。フォント定義など

org.openoffice.Office Edit

Addonsアドオン、拡張機能関連。ツールバー、メニューバー、アイコンイメージ
CalcCalc 設定。OpenOffice.org Calc - General, View, Calculate, Sort Lists, Changes, Grid, Print、ステータスバー、Load/Save - VBA Properties
CalcAddInsCalc アドイン関数関連
Chartチャート色設定。Charts - Default Colors
Commandコマンド設定
CommonOpenOffice.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
DrawDraw 設定。OpenOffice.org Draw - General, View, Grid, Print、その他
Embedding埋め込み型オブジェクト設定
Eventsアプリケーションイベント設定。ツール - カスタマイズ - イベント
ExtendedColorSchema拡張色設定。OpenOffice.org - Appearance
ExtensionManager拡張機能マネージャ設定。レポジトリへのリンク
FormWizardフォームウィザード設定
ImpressImpress 設定。OpenOffice.org Impress - General, View, Grid, Print その他
JavaJava 関連。(現在不使用?)
Jobsジョブ設定
Labelsラベル印刷で利用されるラベルのサイズ
Linguistic言語、地域設定。Language Settings - Languages, Writing Aids その他
Loggingログ取得設定
MathMath 設定。OpenOffice.org Math - Settings、その他
OptionsDialogオプションダイアログ設定。拡張機能などで利用
Pathsパス設定。OpenOffice.org - Paths、その他
ProtocolHandlerプロトコルハンドラ設定
Recoveryファイルのリカバリリストと設定
ReportDesignレポートデザイナー
ScriptingScripting Framework script 設定
SecuritySecure file extension リスト
SFXSFX ヘルプ設定
Substitutionユーザー定義パス置換リスト
TabBrowseタブ機能利用時設定
TableWizardデータベーステーブルウィザード設定
TypeDetectionフィルター設定
UIUI 表示設定
Viewsビュー設定。ダイアログ、ウィンドウなど設定
WebWizardウェブウィザード設定
WriterWriter 設定。OpenOffice.org Write - General, View, Grid, Basic Fonts (Western), Basic Fonts (Asian), Print, Table, Changes, Compatibility, AutoCaption, Mainl Merge E-mail、その他
WriterWebWriter Web 設定。OpenOffice.org Writer/Web - View, Formatting Aids, Grid, Print, Table, Background

org.openoffice.TypeDetection Edit

Filterフィルター定義設定
GraphicFilter画像フィルター定義設定
Misc一般フィルター定義設定
Typesファイルタイプ定義
UISortUI 表示順

org.openoffice.ucb Edit

ConfigurationUCB 一般設定
HierarchyUCB が利用する階層設定
Storeコンテンツリスト

org.openoffice.Office.UI Edit

各種 UI サイズ配置、コマンドラベル名など

読み込みと変更 Edit

設定を取り扱うには com.sun.star.configuration モジュールを利用します。このモジュールでは設定の読み込み、変更、shared のファイルまで取り扱えます。

一般的な読み込みと変更を取り上げます。そのほかについては Developers Guide の Configuration の章参照。

設定は階層化されているため、順次上からもしくは途中から下の階層へアクセスしていく必要があります。

ConfigurationProvider Edit

com.sun.star.configuration.ConfigurationProvider サービスから読み込みおよび変更に利用するサービスをインスタンス化する必要があります。

oCP = CreateUnoService("com.sun.star.configuration.ConfigurationProvider")

読み込み Edit

設定の読み込みだけを扱うサービス 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 )

変更 Edit

設定の変更は 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 コンフィグレーションの読み込みと変更 Edit

デフォルト設定の share に保存されているコンフィグレーションは 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

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