Top > OOobbs > 111

OOobbs/111 Edit

  • サマリ: FolderPickerの初期表示ディレクトリの設定について
  • 環境: Calc
  • 状態: 解決
  • 投稿者: まつ?
  • 投稿日: 2006-09-08 (金) 18:51:22

質問 Edit

ディレクトリ選択ダイアログの初期ディレクトリを設定するために、以下のようなコードを書きましたが、 指定したディレクトリが表示されません。
必ずデフォルトの マイコンピュータ が表示されてしまいます。
原因はなんでしょうか?

ちなみに、デバッガで oFolderPicker.DisplayDirectory を確認したところ、値は入っていました。

Dim oFolderPicker As Object
Dim dir As String
Dim len As Integer 
Dim fileName As string

	oFolderPicker = createUnoService("com.sun.star.ui.dialogs.FolderPicker")

	dir = ThisComponent.getURL()

	' フルパスからファイル名を取り除く
	fileName = ThisComponent.ScriptProvider.Name
	len = InStr(dir, fileName)
	dir = left(dir, len - 2)

	' 表示ディレクトリの指定
	oFolderPicker.setDisplayDirectory(dir)

	' ディレクトリ選択ダイアログ表示
	oFolderPicker.execute()

回答 Edit

  • Windows のフォルダー選択ダイアログではうまくディレクトリが表示されませんでした。

メニュー-ツール-OpenOffice.orgの全般の 「開く」ダイアログと「保存」ダイアログの OpenOffice.org ダイアログを使用するにチェックを入れたダイアログならうまくいきました。

なお,上記の設定を OOoBasic から変更するには,

  Dim oConfigMisc As Object
  oConfigMisc = ConfigManager("/org.openoffice.Office.Common/Misc")
  oConfigMisc.setHierarchicalPropertyValue("UseSystemFileDialog",false)
  oConfigMisc.commitChanges()
Function ConfigManager(sNode As String) As Object
Dim oManager As Object, oProvider As Object
Dim oConfig As Object
Dim oPathArgs(0) As New com.sun.star.beans.PropertyValue
  'GlobalServiceManager
  oManager = GetProcessServiceManager()
  oPathArgs(0).Name = "nodepath"
  oPathArgs(0).Value = sNode
  'Access to configuration datas.
  oProvider = oManager.createInstance("com.sun.star.configuration.ConfigurationProvider")
  'This will be able to update and to config configuration settings in its node.
  oConfig = oProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationUpdateAccess", oPathArgs())
  ConfigManager = oConfig
End Function

とします。

  • はにゃ?? 2006-09-08 (金) 21:27:09
  • 回答ありがとうございます。
    試してみたら上手くいきました。上記の関数を実行することで、開かれるダイアログが変更される、と言うことですね? -- まつ? 2006-09-10 (日) 17:59:06
  • 上記のコードはマクロで表示ダイアログを変更したり戻したりするときに使用してください。 -- はにゃ?? 2006-09-10 (日) 18:35:12


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