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

From Apache OpenOffice Wiki
< JA‎ | Documentation/Administration Guide
Revision as of 16:03, 15 October 2008 by G11nAutomation (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


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

Template:Documentation/Note

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.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:/// 表記で始まる必要があります。

Template:Documentation/Note

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 ライブラリを作成できます。

Template:Documentation/Note

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

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

  1. スーパーユーザーとして、カスタムライブラリを作成したユーザーインストールから Apache OpenOffice サーバーインストールにそのライブラリをコピーします。
    cp -r install-dir/user/basic/custom library install-dir/share/basic/ Template:Documentation/Note です。
  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 OpenOffice Basic」を選択します。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