カスタム Apache OpenOffice Basic マクロとライブラリ

From Apache OpenOffice Wiki
Jump to: navigation, search
doc OOo


Apache OpenOffice Basic は、Apache OpenOffice の作業を自動化できるプログラミング言語です。 Apache OpenOffice Basic マクロはモジュールに格納され、そのモジュールはライブラリに格納されます。 ライブラリは、Apache OpenOffice Basic で作成したダイアログボックスのコンテナとしても機能します。 Basic ライブラリは、ユーザーがアクセスできる任意のディレクトリに格納できます。

Documentation note.png Basic ライブラリのパッケージングや配備には、Apache OpenOffice の拡張機能を使用します。『Apache OpenOffice Developer's Guide』では、拡張機能を詳しく説明しています。

Apache OpenOffice Basic ライブラリとモジュールについて

デフォルトの Apache OpenOffice Basic ライブラリは、install-dir/share/basic ディレクトリにあります。ライブラリには次のファイルが含まれます。

script.xlb
ライブラリ内のモジュール名が格納されている XML ファイル。
dialog.xlb
ライブラリ内のダイアログボックス名が格納されている XML ファイル。
*.xba
単一の Apache OpenOffice Basic モジュール用の Apache OpenOffice Basic ソースコードが格納されている XML ファイル。·ファイル名はモジュール名に対応しています。
*.xdl
Apache OpenOffice Basic ダイアログボックスのダイアログ要素が格納されている XML ファイル。ファイル名はダイアログ名に対応しています。
*.pba
パスワードで保護されている (ソースコードが暗号化されている) Apache OpenOffice Basic モジュール。ファイル名はモジュール名に対応しています。

Apache OpenOffice Basic 設定ファイルについて

script.xlcdialog.xlc 設定ファイルには、 Apache OpenOffice Basic ライブラリとダイアログボックスの場所が含まれています。これらのファイルは、install-dir/user/basic/ ディレクトリにあり、このディレクトリにはデフォルトの標準 Apache OpenOffice Basic ライブラリとユーザー定義ライブラリも格納されています。

Documentation caution.png

script.xlcdialog.xlc 設定ファイルの場所は変更できません。

XML ベースの script.xlc ファイルには、 Apache OpenOffice で利用できるすべての Basic ライブラリのリストが含まれています。以下のタグが使用されます。

library:name
Apache OpenOffice Basic ライブラリ名を指定します。
xlink:href
ライブラリの script.xlb ファイルの URL を指定します。このURL は、file:/// 表記で始まる必要があります。
Documentation note.png ライブラリがユーザーインストールの <Apache OpenOffice installation directory>/user/basic ディレクトリにある場合、xlink:href タグの値を指定する必要はありません。
xlink:type
このタグは、xlink:href タグに必要で、simple に設定する必要があります。
library:link
デフォルト以外の場所にあるライブラリへのリンクであるかどうかを指定します。Apache OpenOffice Basic ライブラリのデフォルトの場所は、install-dir/user/basic です。デフォルトの場所にあるライブラリだけを使用する場合、このタグの値を false に設定します。それ以外のライブラリを使用する場合、このタグの値を true に設定します。
library:readonly
ライブラリが読み取り専用であるかどうかを指定します。読み取り専用の場合、このタグの値を true に設定します。

次の XML コードは、script.xlc 設定ファイル ( Apache OpenOffice Basic ライブラリの) です。このファイルと dialog.xlc との違いは、 ライブラリを指す xlink:href タグのみで、script.xlb では、 dialog.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 ライブラリを作成できます。

Documentation note.png script.xlcdialog.xlc 設定ファイルは、次のディレクトリにあります。
  • Solaris および Linux の場合: install-dir/usr/basic/
  • Windows の場合: C:\Documents and Settings\user-id\Application Data\install-dir\user\basic\

ネットワーク上のすべてのユーザーがカスタム Apache OpenOffice Basic ライブラリを利用できるようにする

Apache OpenOffice を使用してカスタムライブラリと、そのライブラリのマクロを作成します。

  1. スーパーユーザーとして、カスタムライブラリを作成したユーザーインストールから Apache OpenOffice サーバーインストールにそのライブラリをコピーします。
    cp -r install-dir/user/basic/custom library install-dir/share/basic/
    Documentation note.png Windows では、カスタムライブラリを作成した場所は、C:\Documents and Settings\user-id\Application Data\installation-dir\user\basic\custom libraryです。
  2. ユーザーインストールの 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"/>
  3. ユーザーインストールの dialog.xlc 設定ファイルを開き、ライブラリの script.xlb 設定ファイルへのリンクを追加します。
    リンクには、次の構文を使用します。
     <library:library library:name="Library Name"
     xlink:href="$(USER)/basic/Library Name/dialog.xlb/"
     xlink:type="simple" library:link="false"/>
  4. ワークステーション上で Apache OpenOffice を再起動します。

カスタム Apache OpenOffice Basic ライブラリを、単一のユーザーが利用できるようにする

  1. カスタムライブラリを作成したユーザーインストールから、ライブラリを配備するユーザーインストールにカスタムライブラリをコピーします。
    • 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 です。

  2. ユーザーインストールの 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"/>
  3. ユーザーインストールの dialog.xlc 設定ファイルを開き、ライブラリの script.xlb 設定ファイルへのリンクを追加します。
    リンクには、次の構文を使用します。
     <library:library library:name="Library Name"
     xlink:href="$(USER)/basic/Library Name/dialog.xlb/"
     xlink:type="simple" library:link="false"/>
  4. Apache OpenOffice を再起動します。

マクロを使用してカスタム Apache OpenOffice Basic ライブラリをインストールする

Apache OpenOffice Basic ライブラリを Apache OpenOffice ドキュメントからインストールするマクロを作成できます。

  1. Writer で、新しいドキュメントにカスタム Apache OpenOffice Basic ライブラリを作成します。
  2. ドキュメントを保存します。
  3. インストールするマクロを作成します。
    1. 「ツール」→「マクロ」→「マクロの管理」→「Apache OpenOfficeBasic」を選択します。「Apache OpenOffice Basic マクロ」ダイアログボックスが表示されます。
    2. マクロの記録先」リストで、Writer ドキュメントを選択します。
    3. マクロ名」ボックスで、インストールするマクロの名前を入力します。
    4. 新規作成」ボタンをクリックします。「Basic」IDE ウィンドウが表示されます。
    5. 次のコードを入力します。
    6.  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 &lt;= 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
    7. SrcLibraryNameDestLibraryName 変数を、作成したライブラリ名に置き換えます。
    8. Basic」 IDE ウィンドウを閉じます。
  4. ドキュメントにボタンを追加します。
    1. フォームコントロール」ツールバーで、「ボタン」アイコンをクリックします。
    2. ドキュメントで、ドラッグしてボタンを追加します。
  5. ボタンイベントにインストールするマクロを割り当てます。
    1. 追加したボタンを右クリックし、「コントロール」を選択します。
    2. イベント」タブをクリックします。
    3. ボタンイベント (「マウスボタンを押した時」イベントなど) の隣にある省略符号ボタン「...」をクリックします。
    4. 割り当てられたアクション」ダイアログボックスで、「マクロ」ボタンをクリックします。「マクロの選択」ダイアログボックスが表示されます。
    5. ライブラリ」リストで、インストールするマクロが格納されているライブラリを選択します。
    6. マクロ名」リストで、インストールするマクロを選択します。
    7. OK」をクリックします。
    8. 割り当てられたマクロ」ダイアログボックスで、「OK」をクリックします。
  6. ドキュメントを保存します。
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages