2021年5月16日日曜日

59: Basicマクロ群をLibreOffice/OpenOffice拡張機能に入れる

<このシリーズの前の記事 | このシリーズの目次 | このシリーズの次の記事>

それらをキーバインディング群/メニューアイテム群/ツールボタン群/UNOインターフェイス群/UNOコンポーネント群/UNOサービス群と共にパッケージ化するために、そしてあるいは、それを配布するために。

話題


About: LibreOffice
About: Apache OpenOffice
About: LibreOffice Basic
About: Apache OpenOffice Basic

この記事の目次


開始コンテキスト



ターゲットコンテキスト



  • 読者は、Basicマクロ群をLibreOfficeまたはApache OpenOffice拡張機能に入れる方法を知る。

オリエンテーション


任意のPythonマクロを格納する任意のLibreOfficeまたはApache OpenOffice拡張機能を作成することについての記事があります。

LibreOfficeまたはApache OpenOfficeにキーバインディングを拡張機能を通して登録することにについての記事があります。.

LibreOfficeまたはApache OpenOfficeにメニューアイテム群やツールボタン群を拡張機能を通して登録することについての記事があります。

任意のLibreOfficeまたはApache OpenOfficeマクロ(拡張機能内に格納されているものを含む)をあなたのプログラムから呼び出すことについての記事があります。

これまで語られなかったまたは不正確に語られたLibreOffice Basicの基本についての記事があります。

Basicのコードを構造化する1つの試みについての記事があります。

LibreOfficeまたはApache OpenOffice Basicマクロを、Basic IDE無しで作成することについての記事があります。


本体

ト書き
Hypothesizer 7、Objector 59A、Objector 59Bが、コンピューターの前にいる。


1: マクロを拡張機能に入れる動機


Hypothesizer 7
任意のマクロ群をあなたのLibreOfficeまたはApache OpenOffice拡張機能に入れることができます。

Objector 59A
知ってるよ: 'Tools(ツール)' -> 'Macros(マクロ)' -> 'Organize Macros(マクロの管理)' -> 'Basic' -> 'Organize...(管理)' -> 'Libraries(ライブラリ)' -> ライブラリを選択する -> 'Export...(エクスポート)' でそうできるから。

Hypothesizer 7
それは結構でございます、サー、しかし、そのGUIは、Basicマクロ群のみの拡張機能を作成するのではありませんか?

Objector 59A
だから何だ?

Hypothesizer 7
拡張機能のメリットは、1つの機能群の全関連ファイルのパッケージであることです。

Objector 59A
「関連ファイル」とはどういう意味だ?

Hypothesizer 7
キーバインディング群、メニューアイテム群、ツールボタン群、UNOインターフェイス群、UNOコンポーネント群、UNOサービス群です、当該マクロ群と共に。

Objector 59A
. . . そのGUIはそんなオプションは示さないぞ。

Hypothesizer 7
ここに、拡張機能を作成する方法があります

Objector 59B
私には自分のマクロを配布する必要なんか全然ないわ!

Hypothesizer 7
マダム、たとえそうだとしても、ご自分のコードを組織化して、各パッケージを全体としてインストール・アンインストールできるのは、有益だと思います。


2: マニフェストに何を書くか


Hypothesizer 7
任意の拡張機能を作成する基本は、ある以前の記事にあります

任意のBasic libraryを拡張機能に入れるためには、マニフェストに1つのノードを入れる必要があります、以下のように。

manifest.xml

@XML ソースコード
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE manifest:manifest PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd">
<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest">
	<manifest:file-entry manifest:media-type="application/vnd.sun.star.basic-library" manifest:full-path="basicLibraries/theBiasPlanet_testUnoExtension"/>
</manifest:manifest>

Objector 59B
. . . そのディレクトリはどこからきたの?

Hypothesizer 7
あなたが作成したものです。

Objector 59B
私は作成してないけど。

Hypothesizer 7
作成なさる必要があります。

Objector 59B
どうやって?

Hypothesizer 7
ある以前の記事に記載されております。

Objector 59B
はあ?IDE無しでやらないといけないの?

Hypothesizer 7
必ずしもその必要はありません。仮にIDEを使われるのとしても、その記事は、どこにライブラリディレクトリがあるかを知るのに有用でしょう。


参考資料


<このシリーズの前の記事 | このシリーズの目次 | このシリーズの次の記事>