OOobbs2/46
質問
WindowsとLinuxのデュアルブートでOpenOfficeを使っているのですが、マイマクロを共有したいのです。 マイマクロが保存されるディレクトリを変更できないのでしょうか? 回答
パスの設定のメニュー - ツール - オプション - OpenOffice.org - パスから以前はBasicのディレクトリも変更できたのですが、今はセキュリティの問題で表示されません。 設定ファイルを直接書き換えることで、以下のように変更してみたのですが動作が変でした。 設定の変更ではうまくいかなかったので、うまくいかなかったところは読み飛ばしてもらえるといいです。 ユーザーの設定ファイルがあるディレクトリの OpenOffice.org2/user/registry/data/org/openoffice/Office/Common.xcu ファイルに設定を記述します。 Path node の下に <prop oor:name="Basic" oor:type="oor:string-list"> <value>DIRECTORY PATH</value> </prop> を追加してやるとディレクトリを読みに行きます。 ここまではうまくいくのですが、新しいライブラリを作成したりすると Basic のコードの一覧を保存している script.xlc ファイルがおかしくなります。 たとえば、 <library:library library:name="Standard" xlink:href="$(USER)/basic/Standard/script.xlb/" xlink:type="simple" library:link="false"/> ライブラリのパスが $(USER) になってしまいます。実際には変更した先のパスになるはずですが、どうやら OOo 側の不具合のようですが。$(USER) は一般的なユーザーのディレクトリに置換されます、たとえば OpenOffice.org2/user。 うまくいかないので上記の設定は使えません。 それ以外にコードを共有できる方法を書きます。 まず、メニュー - ツール - マクロ - マクロの管理 - OpenOffice.org Basic からダイアログを表示します。そして、管理ボタンからマクロの管理ダイアログを表示します。 ライブラリタブで新しいライブラリを新規作成します。新しいライブラリが作成できたら、エクスポートボタンを押して「BASIC ライブラリとしてエクスポート」します。 次に、エクスポートしたライブラリをインポートボタンでインポートします。このとき、エクスポートするとできるディレクトリの script.xlb ファイルを選択します。インポートするときには、参照として挿入にチェックを入れます。ここでは既存ライブラリの置換も入れる必要があるはずです。 上記でインポートしたファイルは読み込み専用設定になっているので、設定ファイルをいじって編集できるようにします。 OpenOffice.org2/user/basic/script.xlc ファイルを適当なエディタで開き、インポートしたライブラリの部分を探します。たとえば、 <library:library library:name="Library1" xlink:href="file:///C:/Users/Pictures/Library1/script.xlb" xlink:type="simple" library:link="true" library:readonly="true"/> この部分の library:readonly="true" を library:readonly="false" に書き換えてやります。 これで編集できるようになります。 Win と linux で共有するのであれば Win NTFS 側にファイルを置いておいて linux から読みに行くことになると思いますが、この場合は。 Win の側の Basic ファイルはそのままで linux 側から参照させればいいのではないでしょうか。その場合は、上記の新規ライブラリを作らずに、ライブラリのインポートから始めます。 こうして共有したときに注意するのは新規ライブラリの作成のときだけだと思います。 新規にライブラリを作成するときには win 側で作成して、linux 側で参照する必要が出てきます。script.xlc ファイルが共有されていないためです。 インポートから読み込み専用の書き換えまでを Basic で出来そうですね。
感想,コメント,メモ
|