マクロを実行する典型的なメソッドは、次の通りです。:
- Macro Selector(ダイアログ)を開くために、Tools > Macros > Run Macroを使用します。
- Libraryリスト(左側)でライブラリとモジュールを選択します。
- Macro名リスト(右側)でマクロを選択します。
- マクロを実行するために、Runをクリックします。
あなたは、すべてのマクロを実行するために、Tools > Macros > Run Macroを使うことができますが、これは、頻繁に、マクロを実行するために、効率的ではありません。より一般的な手法は、ツールバー・ボタン、メニュー項目、キーボード・ショートカット、またはドキュメントに埋め込まれたボタンにマクロを割り当てる方法です。メソッドを選択する際、次のような質問をすることも良いことです。:
- マクロは、1つの文書だけのため、または、広範囲に、すべての文書で利用できなくてはいけないのでしょうか?
- マクロは、Calcドキュメントのような、特定のドキュメントの種類に関係していますか?
- どれくらい頻繁に、マクロは使用されるのでしょうか?
答えは、どこにマクロを格納するべきか、そして、どのようにそれを利用可能に作成するべきか決定します。たとえば、あなたはおそらくめったに使用されなかったマクロをツールバーに追加しません。あなたの選択肢を決定するのを助けるために、表2を確かめます。
Type | OpenOffice.org | Document Type | Document |
---|---|---|---|
Toolbar | No | Yes | Yes |
Menu | No | Yes | Yes |
Shortcut | Yes | Yes | No |
Event | Yes | No | Yes |
メニュー項目(キーボード・ショートカットまたはマクロを呼び出すツールバー・アイコン)を追加します使用しましたカスタマイズしますダイアログ。これらの方法のどちらでも:で、このダイアログを開きます。
- メイン・メニュー・バーから、Tools > Customizeを選択します。
- それぞれツールバーは、を持っています。;Customize Toolbarオプションを選択します。
OpenOffice.orgは、ダイアログをカスタマイズします。
Customizeダイアログを完全に網羅することは、この文書の範囲を越えています。OpenOffice.orgに含まれるヘルプ・ページにアクセスするために、Helpボタンをクリックします。
Customizeダイアログは、メニュー、キーボード結合、ツールバーを設定するタブとイベントが含まれています。
ツールバー
Toolbar
マクロは、ツール・バーに追加することができます。ツール・バーを変更する方法の詳細については、Chapter 4(メニューとツール・バー)を参照してください。
メニュー項目
Menu item
Customizeダイアログを開く、そして、メニュー・タブを選択するために、Tools > Customizeを使用します。あなたは、既存のメニューを変更することができます。あるいは、マクロを呼び出す新しいメニューを作成します。メニューを変更する方法の詳細については、Chapter 4(メニューとツール・バー)を参照してください。
キーボード・ショートカット
Keyboard shortcuts
Customizeダイアログを開く、そして、Keyboardタブを選択するために、Tools > Customizeを使用します。キーボード・ショートカットを割り当てることについては、Appendix A(キーボード・ショートカット)で説明されています。
イベント
Event
OpenOffice.orgでは、何かが生じるとき、私たちは、イベントが発生したと言います。例えば、文書が開かれた、キーが押さた、あるいは、マウスが移動した。OpenOffice.orgは、マクロを呼び出すために、イベントを発生させることができます。;マクロは、続いて、イベント・ハンドラを呼び出します。イベント・ハンドラを完全に網羅することは、この文書の範囲をかなり越えていますが、少しの知識で、多くのことを達成することができます。
あなたが、イベント・ハンドラを設定するときは、注意してください。例えば、あなたが、キーが押されるたびに、毎回、呼び出されますが、あなたが、ミスをして、イベントが、適切に処理されない、イベント・ハンドラを記述することを想定します。1つの起こりうる結果は、あなたのイベント・ハンドラが、すべてのキー入力を利用するため、OpenOffice.orgを強制終了する必要があります。
Customizeダイアログを開く、そして、Keyboardタブを選択するために、Tools > Customizeを使用します。キーボード・ショートカットを割り当てることについては、Appendix A(キーボード・ショートカット)で説明されています。
マクロを、アプリケーション・レベルのイベントに割り当てます。
一般的な使い方は、特定のマクロを呼び出すために、Open Documentイベントを割り当てることです。マクロは、続いて、文書のために、特定の設定タスクを実行します。目的のイベントを選択し、Macro Selectorダイアログを開くために、Macroボタンをクリックします。
マクロを、「ドキュメントを開く」イベントに割り当てます。
マクロをイベントに割り当てるために、目的のマクロを選択し、OKをクリックします。イベントがマクロに割り当てられたEventsタブを表示します。ドキュメントを開くとき、PrintHelloマクロが、実行されます。
文書内の多くのオブジェクトは、イベントが、発生するとき、マクロを呼び出すように設定することができます。最も一般的な使い方は、文書にボタンのようなコントロールを追加することです。画像をダブルクリックしても、あなたが、マクロをイベントに割り当てることができる、Macrosタブのダイアログを開きます。
拡張機能
原文「Extensions」
拡張は、パッケージです。それは、新しい機能を追加するために、OpenOffice.orgにインストールすることができます。拡張機能は、ほぼすべてのプログラミング言語で記述できます。そして、単純、あるいは、洗練されている場合があります。拡張は、型にグループ化することができます。:
- Calc Add-Inは、Calcのための新しい機能を提供します。通常の組み込み関数のように動作する、新しい関数が含まれています。
- 新しいコンポーネントと機能は、通常、新しいメニューやツール・バーのような、いくつかの水準のUIの統合が含まれています。
- Calcで、直接使用されるデータ・パイロット
- 新しいチャートの種類を持つChart Add-In
- スペルチェッカーのような言語コンポーネント
- ドキュメントのテンプレートと画像
それぞれの拡張は、別の場所で見つかりますが、以下に、extensionリポジトリーがあります。:http://extensions.services.openoffice.org/.
レコーダーなしでマクロを記述する
原文「Writing macros without the recorder」
このChapterで取り扱われる例は、マクロ・レコーダーとディスパッチャを使用して作成されます。また、あなたは、OpenOffice.orgで構成されるオブジェクトに直接アクセスするマクロを記述することができます。言い換えると、あなたは、文書を直接操作することができます。
OOoの内部のオブジェクトを、直接操作することは、高等なトピックです。それは、このChapterの範囲を越えています。単純な例ですが、これがどのように動作するかを示しています。
LISTING 4:現在のドキュメントにテキストの"Hello"を添付します。
Sub AppendHello
Dim oDoc
Dim sTextService$
Dim oCurs
REM ThisComponent refers to the currently active document.
oDoc = ThisComponent
REM Verify that this is a text document
sTextService = "com.sun.star.text.TextDocument"
If NOT oDoc.supportsService(sTextService) Then
MsgBox "This macro only works with a text document"
Exit Sub
End If
REM Get the view cursor from the current controller.
oCurs = oDoc.currentController.getViewCursor()
REM Move the cursor to the end of the document
oCurs.gotoEnd(False)
REM Insert text "Hello" at the end of the document
oCurs.Text.insertString(oCurs, "Hello", False)
End Sub
多くの情報を見つける
マクロの作成に関するヘルプを提供する数多くのリソースが、利用できます。OOoヘルプ・ページを開くために、Help > OpenOffice.org Helpを使用します。OOoヘルプ・システムの左上角には、どのヘルプ設定が表示されるか決定するドロップダウンリストが含まれています。Basicのためのヘルプを調べるために、ドロップダウンは、OpenOffice.org BasicについてHelpを表示する必要があります。
オンライン・リソース
Online resources
次のリンクと参照は、マクロ・プログラミングに関する情報が含まれています。:
- http://www.openoffice.org (メイン・リンク)
- http://codesnippets.services.openoffice.org/ (分類された例)(リンク切れ)
- http://user.services.openoffice.org (OpenOffice.orgユーザー・フォーラムは、マクロで助けを求めるための素晴らしい場所です)
- http://www.oooforum.org (あなたがマクロで助けを必要とする場合、ここは、質問するために素晴らしい場所です)
- http://api.openoffice.org/docs/common/ref/com/sun/star/module-ix.html (公式のIDLリファレンス、ここでは、ほとんどすべてのコマンドを、説明付きで見ることができます。)
- http://api.openoffice.org/DevelopersGuide/DevelopersGuide.html (公式ドキュメントには、詳細な説明が含まれています。)
- http://www.pitonyak.org/oo.php (Andrew Pitonyakのマクロ・ページ)
- http://www.pitonyak.org/AndrewMacro.odt (実務的なマクロの数多くの例)
- http://www.pitonyak.org/book/ (Andrew Pitonyakは、マクロに関する本を記述しました)
- http://www.pitonyak.org/database/ (Baseを使用している数多くのマクロ例)
- http://docs.sun.com/app/docs (Sunは、マクロ・プログラミングに関する本を記述しました-素晴らしい記述とレイアウトです。)(リンク切れOracleのサイトへ移動します)
- http://documentation.openoffice.org (マクロに関連した内容が含まれています)
- http://ooextras.sourceforge.net/ (例)(リンク切れ)
- http://sourceforge.net/project/showfiles.php?group_id=43716 (例)
- http://homepages.paradise.net.nz/hillview/OOo/ (明らかなコード・マクロ、キー・マクロ、そして、MS Officeからの変換に関する情報を含む数多くの優れたマクロがあります。)
- Introduction to OO macro writing ooBaseのマクロに案内します。Sheepdogguides.com.から
出版された資料
(訳注: OOo 3.0 当時のものです。)
次の出版された資料には、マクロの例が含まれています。最も明らかな例は、Sunからのドキュメントです。Sunのドキュメント・サイトから開始しますhttp://docs.sun.com/app/docs(リンク切れOracleのサイトへ移動します)そして、StarOfficeドキュメントを探す
Andrew Pitonyakは、OpenOffice.org Macros Explainedという本を書いています。発行者からの直接のダウンロードとして、2つのChapterが、利用できます。http://www.pitonyak.org/book/を参照して下さい。
Mark Alexander Bain博士は、「Learn OpenOffice.org Spreadsheet Macro Programming」を執筆しました。 (http://www.packtpub.com/openoffice-ooobasic-calc-automation/bookを参照して下さい)。