Home > コンピュータ > LibreOffice > マクロ

マクロを実行する方法

新規作成日 2017-12-11
最終更新日

原文「How to run a macro

マクロを実行する典型的なメソッドは、次の通りです。:

  1. Macro Selector(ダイアログ)を開くために、Tools > Macros > Run Macroを使用します。
  2. Libraryリスト(左側)でライブラリとモジュールを選択します。
  3. Macro名リスト(右側)でマクロを選択します。
  4. マクロを実行するために、Runをクリックします。

マクロを実行するために、Macro Selectorダイアログを使用します。

あなたは、すべてのマクロを実行するために、Tools > Macros > Run Macroを使うことができますが、これは、頻繁に、マクロを実行するために、効率的ではありません。より一般的な手法は、ツールバー・ボタン、メニュー項目、キーボード・ショートカット、またはドキュメントに埋め込まれたボタンにマクロを割り当てる方法です。メソッドを選択する際、次のような質問をすることも良いことです。:

  • マクロは、1つの文書だけのため、または、広範囲に、すべての文書で利用できなくてはいけないのでしょうか?
  • マクロは、Calcドキュメントのような、特定のドキュメントの種類に関係していますか?
  • どれくらい頻繁に、マクロは使用されるのでしょうか?

答えは、どこにマクロを格納するべきか、そして、どのようにそれを利用可能に作成するべきか決定します。たとえば、あなたはおそらくめったに使用されなかったマクロをツールバーに追加しません。あなたの選択肢を決定するのを助けるために、表2を確かめます。

Table 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は、ダイアログをカスタマイズします。

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マクロが、実行されます。

Print helloは、Open Documentイベントに割り当てられます。

文書内の多くのオブジェクトは、イベントが、発生するとき、マクロを呼び出すように設定することができます。最も一般的な使い方は、文書にボタンのようなコントロールを追加することです。画像をダブルクリックしても、あなたが、マクロをイベントに割り当てることができる、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

多くの情報を見つける

原文「Finding more information

マクロの作成に関するヘルプを提供する数多くのリソースが、利用できます。OOoヘルプ・ページを開くために、Help > OpenOffice.org Helpを使用します。OOoヘルプ・システムの左上角には、どのヘルプ設定が表示されるか決定するドロップダウンリストが含まれています。Basicのためのヘルプを調べるために、ドロップダウンは、OpenOffice.org BasicについてHelpを表示する必要があります。

オンライン・リソース

Online resources

次のリンクと参照は、マクロ・プログラミングに関する情報が含まれています。:

出版された資料

(訳注: 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を参照して下さい)。

このエントリーをはてなブックマークに追加