Top > OOoBasic > Generic > pathsettings

パス設定 Edit

メニュー ツール -> オプション -> OpenOffice.org - Paths にてさまざまなパス設定が行われ,アドインの場所,ギャラリーの場所,ドキュメントの場所やテンプレートの場所などについて設定が行われています。

これらの設定を OOoBasic からアクセスして取得できます。ギャラリーにファイルをインストールしたり,テンプレートをインストールしたりするために利用できるかもしれません。

このパス設定へのアクセスに関しては OpenOffice.org 1.1 系と OpenOffice.org 2.0 系では動作が違います。

Settings サービス Edit

オプションで確認できる設定だけでもさまざまなサービスに分散して設定が行われています。パスの設定は com.sun.star.frame.Settings サービスを利用することで取得できます。

Sub Settings_1
Dim oSettings As Object
  oSettings = CreateUnoService("com.sun.star.frame.Settings")
End Sub

com.sun.star.frame.Settings サービスは上記のようにして作成します。直接このサービスからパス設定を取得するのではなくさらにこのサービスの要素へのアクセスが必要です。じまた,このサービスから取得できるのはパスの設定だけではありません。次のようにするとどのような設定へアクセスできるのか分かります。

Sub Settings_2
Dim oSettings As Object
Dim aArr()
  oSettings = CreateUnoService("com.sun.star.frame.Settings")
  aArr() = oSettings.getElementNames()
  For i = 0 To UBound(aArr())
    MsgBox aArr(i)
  Next i
End Sub

INetSettings, BrowserSettings, GeneralSettings, PathSettings の四つのカテゴリーに属する設定についてアクセスできます。

PathSettings Edit

ここでは PathSettings について取り上げていきます。com.sun.star.util.PathSettings サービスから PathSettings へアクセスしてやります。

Sub Settings_1
Dim oPathSettings As Object
  oPathSettings = CreateUnoService("com.sun.star.util.PathSettings")
  MsgBox oPathSettings.Dbg_Properties
End Sub

表示されたプロパティーの AddIns から Work までがパス設定に関するものです。それぞれのプロパティーにパスが保持されています。

string AddIns
string AutoText
string Backup
string Basic
string Bitmap
string Config
string Dictionary
string Filter
string Gallery
string Graphics
string Help
string Modules
string Palette
string Plugins
string ProgPath
string Storage
string Template
string UserConfig
string UserDictionary
string UserPath
string Work

PathSubstitution Edit

上記の動作が OOo 1.1 と OOo 2.0 で違うことがあるため他の方法も取り扱っておきます。

com.sun.star.util.PathSubstitution サービスを利用する方法です。このサービスを利用すると,$(inst)\share\registry\schema\org\openoffice\Office\Common.xcs ファイル内で見られるような $(inst), $(user), $(work) といった文字列をそれぞれのパスに置換してくれます。

デフォルトで使用できる変数を示します。

Default Variables for PathSubstitution
$(inst)OpenOffice.org のインストールパス
$(prog)OpenOffice.org program ディレクトリパス
$(work)ユーザーディレクトリのインストールパス
$(home)ユーザーのディレクトリ
$(path)環境変数 PATH の値
$(lang)国コード
$(langid)言語コード
$(vlang)文字列での言語名
$(brandbaseurl)ブランドのプログラムディレクトリへのパス 3.0 以降

$(prog) は $(progpath) ,$(user) は $(userurl) として使用されているときもあります。

Sub Settings_1
  oPathSubstitution = CreateUnoService("com.sun.star.util.PathSubstitution")
  MsgBox oPathSubstitution.substituteVariables("$(brandbaseurl)", True)
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