カスタム Apache OpenOffice Basic マクロとライブラリの使用
- Apache OpenOffice Basic Macros and Libraries
- Apache OpenOffice Extension Manager
- Adding Template Files to an Apache OpenOffice Installation
- Adding AutoText Files to an Apache OpenOffice Network Installation
- Deactivating the Apache OpenOffice Registration Wizard
- Accessing Email Clients
- Customizing the User Interface
- Restricting Functionality in Apache OpenOffice
- Accessing Apache OpenOffice User Profiles on an LDAP Server
Apache OpenOffice Basic は、Apache OpenOffice の作業を自動化できるプログラミング言語です。 Apache OpenOffice Basic マクロはモジュールに格納され、そのモジュールはライブラリに格納されます。 ライブラリは、Apache OpenOffice Basic で作成したダイアログボックスのコンテナとしても機能します。 Basic ライブラリは、ユーザーがアクセスできる任意のディレクトリに格納できます。
Contents
Apache OpenOffice Basic ライブラリとモジュールについて
デフォルトの Apache OpenOffice Basic ライブラリは、install-dir/share/basic ディレクトリにあります。ライブラリには次のファイルが含まれます。
- script.xlb
- ライブラリ内のモジュール名が格納されている XML ファイル。
- dialog.xlb
- ライブラリ内のダイアログボックス名が格納されている XML ファイル。
- *.xba
- 単一の Apache OpenOffice Basic モジュール用の Apache OpenOffice ソースコードが格納されている XML ファイル。ファイル名はモジュール名に対応しています。
- *.xdl
- Apache OpenOffice Basic ダイアログボックスのダイアログ要素が格納されている XML ファイル。ファイル名はダイアログ名に対応しています。
- *.pba
- パスワードで保護されている (ソースコードが暗号化されている) Apache OpenOffice Basic モジュール。ファイル名はモジュール名に対応しています。
Apache OpenOffice Basic 設定ファイルについて
script.xlc と dialog.xlc 設定ファイルには、 Apache OpenOffice Basic ライブラリとダイアログボックスの場所が含まれています。これらのファイルは、install-dir/user/basic/ ディレクトリにあり、このディレクトリにはデフォルトの標準 Apache OpenOffice Basic ライブラリとユーザー定義ライブラリも格納されています。
XML ベースの script.xlc ファイルには、 Apache OpenOffice で利用できるすべての Basic ライブラリのリストが含まれています。以下のタグが使用されます。
- library:name
- Apache OpenOffice Basic ライブラリ名を指定します。
- xlink:href
- ライブラリの script.xlb ファイルの URL を指定します。このURL は、file:/// 表記で始まる必要があります。
- xlink:type
- このタグは、xlink:href タグに必要で、simple に設定する必要があります。
- library:link
- デフォルト以外の場所にあるライブラリへのリンクであるかどうかを示します。Apache OpenOffice Basic ライブラリのデフォルトの場所は、install-dir/user/basic です。デフォルトの場所にあるライブラリだけを使用する場合、このタグの値を false に設定します。それ以外のライブラリを使用する場合、このタグの値を true に設定します。
- library:readonly
- ライブラリが読み取り専用であるかどうかを指定します。読み取り専用の場合、このタグの値を true に設定します。
次の XML コードは、Basic ライブラリの script.xlc 設定ファイルです。 Apache OpenOffice Basic ライブラリこのファイルと dialog.xlc xlink:href タグが指すライブラリのファイルです。このファイルは script.xlb ファイルを指し、 dialog.xlb ファイルを指していません。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE library:libraries PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "libraries.dtd"> <library:libraries xmlns:library="http://openoffice.org/2000/library" xmlns:xlink="http://www.w3.org/1999/xlink"> <library:library library:name="Standard" xlink:href="file:///.../user/basic/Standard/script.xlb/" xlink:type="simple" library:link="false"/> <library:library library:name="FormWizard" xlink:href="file:///.../share/basic/FormWizard/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/> </library:libraries>
Apache OpenOffice Basic 設定ファイルの例
Apache OpenOffice Basic ライブラリの配布
既存の Apache OpenOffice インストール用または新規インストール専用に利用できるカスタム Apache OpenOffice Basic ライブラリを作成できます。
ネットワーク上のすべてのユーザーがカスタム Apache OpenOffice Basic ライブラリを利用できるようにする
Apache OpenOffice を使用してカスタムライブラリと、そのライブラリのマクロを作成します。
-
スーパーユーザーとして、カスタムライブラリを作成したユーザーインストールから Apache OpenOffice サーバーインストールにそのライブラリをコピーします。
cp -r install-dir/user/basic/custom library install-dir/share/basic/ Template:Documentation/Note です。 -
ユーザーインストールの script.xlc 設定ファイルを開き、ライブラリの script.xlb 設定ファイルへのリンクを追加します。
リンクには、次の構文を使用します。<library:library library:name="Library Name" xlink:href="$(USER)/basic/Library Name/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
-
ユーザーインストールの dialog.xlc 設定ファイルを開き、ライブラリの script.xlb 設定ファイルへのリンクを追加します。
リンクには、次の構文を使用します。<library:library library:name="Library Name" xlink:href="$(USER)/basic/Library Name/dialog.xlb/" xlink:type="simple" library:link="false"/>
- ワークステーション上で Apache OpenOffice を再起動します。
カスタム Apache OpenOffice Basic ライブラリを、単一のユーザーが利用できるようにする
-
カスタムライブラリを作成したユーザーインストールから、ライブラリを配備するユーザーインストールにカスタムライブラリをコピーします。
- Solaris および Linux プラットフォームでは、スーパーユーザーになり、ライブラリをコピーします。
cp -r ''install-dir''/user/basic/custom library ''install-dir''/user/basic/
- Windows では、管理特権を持つユーザーになり、ライブラリをコピーします。
ライブラリのファイル名パスは、C:\Documents and Settings\user-id\Application Data\install-dir\user\basic\custom library
-
ユーザーインストールの script.xlc 設定ファイルを開き、ライブラリの script.xlb 設定ファイルへのリンクを追加します。
リンクには、次の構文を使用します。<library:library library:name="Library Name" xlink:href="$(USER)/basic/Library Name/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
-
ユーザーインストールの dialog.xlc 設定ファイルを開き、ライブラリの script.xlb 設定ファイルへのリンクを追加します。
リンクには、次の構文を使用します。<library:library library:name="Library Name" xlink:href="$(USER)/basic/Library Name/dialog.xlb/" xlink:type="simple" library:link="false"/>
- Apache OpenOffice を再起動します。
マクロを使用してカスタム Apache OpenOffice Basic ライブラリをインストールする
Apache OpenOffice Basic ライブラリを Apache OpenOffice ドキュメントからインストールするマクロを作成できます。
- Writer で、新しいドキュメントにカスタム Apache OpenOffice Basic ライブラリを作成します。
- ドキュメントを保存します。
- インストールマクロを作成します。
- 「ツール」→「マクロ」→「マクロの管理」→「Apache OpenOffice Basic」を選択します。「Apache OpenOffice Basic マクロ」ダイアログボックスが表示されます。
- 「マクロの記録先」リストで、Writer ドキュメントを選択します。
- 「マクロ名」ボックスで、インストールマクロから名前を入力します。
- 「新規作成」ボタンをクリックします。「BASIC」IDE ウィンドウが表示されます。
- 次のコードを入力します。
- SrcLibraryName と DestLibraryName 変数を、作成したライブラリ名に置き換えます。
- 「BASIC」 IDE ウィンドウを閉じます。
- ドキュメントにプッシュボタンを追加します。
- 「'フォームコントロール」ツールバーで、'「プッシュボタン」アイコンをクリックします。
- ドキュメントで、ボタンをドラッグして追加します。
- ボタンイベントにインストールマクロを割り当てます。
- 新しいボタンを右クリックし、「コントロール」を選択します。
- 「イベント」タブをクリックします。
- ボタンイベント (「マウスボタンを押したとき」イベントなど) の隣にある省略符号「...」をクリックします。
- 「アクションの割り当て」ダイアログボックスで、「マクロ」ボタンをクリックします。「マクロの選択」ダイアログボックスが表示されます。
- 「ライブラリ」リストで、インストールマクロが格納されているライブラリを選択します。
- 「マクロ名」リストで、インストールマクロを選択します。
- 「OK」をクリックします。
- 「マクロの割り当て」ダイアログボックスで、「OK」をクリックします。
- ドキュメントを保存します。
Sub AddBasicLibrary Dim SourceLibraryName As String, DestLibraryName As String Dim oSrcLib As Object, oDestLib As Object, iCounter As Integer Dim oLib As Object, oGlobalLib As Object ' set these 2 variables to your lib name SrcLibraryName = "TextLib" ' The name of the library that contains the modules DestLibraryName = "NewLib" ' This library will be created and is the ' destination for the modules from the source document. oLib = BasicLibraries ' For Basic libaries oGlobalLib = GlobalScope.BasicLibraries For iLib = 1 To 2 If oGlobalLib.hasByName( DestLibraryName ) = False Then oGlobalLib.createLibrary( DestLibraryName ) End If If oLib.hasByName( SrcLibraryName ) Then oLib.loadLibrary( SrcLibraryName ) oSrcLib = oLib.getByName( SrcLibraryName ) sSrcModules = oSrcLib.getElementNames() iCounter = lBound( sSrcModules() ) while( iCounter <= uBound( sSrcModules() ) ) oDestLib = oGlobalLib.getByName(DestLibraryName) If oDestLib.hasByName( sSrcModules(iCounter) ) = False Then oDestLib.insertByName( sSrcModules(iCounter),_ oSrcLib.getByName( sSrcModules(iCounter) ) ) End If iCounter = iCounter + 1 wend End If oLib = DialogLibraries ' The same for the Dialog libraries oGlobalLib = GlobalScope.DialogLibraries Next iLib End Sub
Content on this page is licensed under the Public Documentation License (PDL). |