- サマリ: Configurationsのマクロによる変更を反映させる方法
- 環境: General
- 状態: 未解決
- 投稿者: ぴあぴあ?
- 投稿日: 2009-11-01 (日) 10:50:49
質問 
ツール - オプションで変更できるConfigurationsをマクロで変更する場合に関する筆問です。
こちらのサイトの情報から、user\registry\data\org\openoffice\Office\以下にある該当するファイルに、com.sun.star.configuration.ConfigurationProvider サービスにて変更を行う事まではわかりました。
しかし、そのファイルを変更しても画面にその設定値が反映されません。反映させるためには、OpenOffice.org全体を再起動させなければならないようです。キャッシュを削除すればよいのかと思い、user\registry\cache\以下にあるファイルを削除したりしましたがダメでした。
何とか、マクロで設定ファイルを変更後、それを自動で反映させる方法はないでしょうか?
ちなみに、やろうとしている事は、OpenOffice.org Draw - グリッド線の間隔を変更です。
回答 
ツール - オプションで変更できる設定は Configuration とドキュメントの設定が混じっています。
その内でもドキュメントごとの設定はドキュメントオブジェクト辺りから設定を大抵は変更できますが、Draw/Impress のグリッド設定に関しては見つかりません。
Draw の設定では以下のオブジェクトのプロパティでドキュメントごとの設定が変更できますが、グリッドに関するものはありません。
ThisComponent
ThisComponent.getCurrentController()
ThisComponent.createInstance("com.sun.star.document.Settings")
i26999
辺りが修正されないと・・・。
ドキュメントを保存すると実際にはドキュメントごとの設定が保持されており Configuration とは別のグリッドが適用されますが、これは ViewData によるものです。しかし、Draw/Impress では現在は ViewData を設定する方は内部が未実装で利用できません。setViewData で変更しても効果ありません。
- css.drawing.framework.ConfigurationController 辺りを調べてみようとしたら・・・
oResId = com.sun.star.drawing.framework.ResourceId.create _
("private:resource/floater/CenterPane")
エラー
感想,コメント,メモ 
- そうですかぁ。設定する方法が内部で未実装という事では、どうしようもないですね。丁寧なご回答ありがとうございました。 -- ぴあぴあ