IDE

OpenOffice.org Basic の統合開発環境である IDE についてのチュートリアルです。

最初の一歩としてのチュートリアルとして簡単,基本的な部分のみを取り上げます。

IDE ではライブラリの管理,モジュールやダイアログの管理,コードの編集,ダイアログの作成,デバッグなどがまとめて行うことができます。

起動

まずは IDE を起動してみます。IDE は他のドキュメントとは別の専用のウィンドウを持っています。

とりあえず,チュートリアル用に新規の空のドキュメントを作成してください。ここでは Calc ドキュメントを使用します。

ドキュメントを作成したら,IDE ウィンドウを表示してみます。

IDE を起動するには OpenOffice.org のメニューから "ツール" - "マクロ..." を選択します。

tutorial_ide_tools.png

すると,次のようなダイアログが表示されます。

表示されるダイアログの左側にはライブラリが並んでいます。

このライブラリはアプリケーションまたはファイルごとに分かれています。アプリケーションのライブラリは "soffice" となっています。

また,ファイルの「無題1」も見えます。

tutorial_ide_macro.png

先ほど作成した「無題1」ファイルに "Standard" ライブラリがあることが分かります。

この "Standard" ライブラリはなんなのでしょうか?

"Standard" ライブラリはすべてのファイルとアプリケーションに存在します。新規に作成したファイルにも存在します。

この "Standard" ライブラリのフォルダの絵をダブルクックしてみてください。なにもおきないはずです。ライブラリにモジュールかダイアログモジュールが含まれているときにはそれらが表示されます。しかし,新規に作成したファイルのライブラリにはモジュールが含まれていないので何も表示されません。

ファイルにはすでにライブラリがありますが,マクロを作成しようとするときにはモジュールが必要です。そこで,新しいモジュールを作成します。

モジュールの作成

"Standard" ライブラリに新しいモジュールを作成します。

"Standard" ライブラリを選択した状態でダイアログの右側に並んでいるボタンの中から 「新規作成」をクリックします。

tutorial_ide_module.png

上のようなダイアログが表示されて最初から "Module1" と入力されています。名前を変更することもできますが,ここでは "Module1" のまま,新しいモジュールを作成します。

OK ボタンをクリックすると,新しくウィンドウが開きます。これが IDE ウィンドウです。

tutor_ide_main_1.png

Hello world!

なんとなく最初は Hello world! から。

さて, IDE を起動することができたらすこしマクロを試してみることにしましょう。

ウィンドウに Sub Main と表示されています。ここを次のように変更します。

Sub Main
Dim sMessage As String
  sMessage = "Hello world!"
  MsgBox sMessage
End Sub

Sub Macro1 の部分は気にしないでください。

tutorial_ide_hello.png

続いて,実行してみます。

tutor_ide_b_run.png ボタンをクリックして今書いたマクロを実行します。マウスカーソルをボタンの上に持っていくと「実行」と表示が出るボタンです。実行すると次のようなダイアログボックスが表示されます。

tutorial_ide_hellodialog.png

成功です。これであなたも OpenOffice.org Basic のマクロを作成,実行する第一歩を踏み出したのです。

マクロに関する詳しい部分は他のチュートリアルで説明します。

解説

IDE に表示されているコードを見てみましょう。Basic 言語になれた人なら簡単です。

REM  *****  BASIC  *****

Sub Main
Dim sMessage As String
  sMessage = "Hello world!"
  MsgBox sMessage
End Sub

Sub Macro1

End Sub

一行目は REM 関数で,この関数から行末まではコメントになり,実行には関係なくなります。マクロ中にコメントを記述する際に用います。また,コメントにするには REM 関数以外に ' (シングルクウォート) を使用することもできます。' から行末までコメントになります。

コメントの一行目は次のようにもすることができます。REM の代わりに ' を使います。

' *****  BASIC  *****

実際,一行目にこの文が必要なわけではありません。なくてもいいのです。

重要なのは Sub Main から始まって End Sub で終わっている部分です (Sub Macro1 の前の行まで)。

Sub Main
Dim sMessage As String
  sMessage = "Hello world!"
  MsgBox sMessage
End Sub

この部分の一行目の Sub Main では Main という名前の Sub (プロシージャー) をはじめることを宣言しています。

Sub Main の Main の部分は Sub の名前です。

Basic では処理を Sub ルーチンの中に記述しなければいけません。コードの実行には Sub ルーチンが必ず一つ以上は必要です。

この名前は,ルールを満たした文字列なら何でもかまいません。ルールは主に次のものです。

  • 英数字,アンダースコア
  • 最初の文字に数字を使えない
  • 255 文字以内
  • 大文字と小文字が区別されない

次は,2 行目と 3 行目です。

Dim sMessage As String
  sMessage = "Hello world!"

まず, sMessage 変数を Dim 文で定義しています。変数 sMessage を String (文字列) 型変数として定義しています。

つづいて,定義した変数 sMessage に Hello world! の文字列を代入しています。文を " (ダブルクォテーション) で挟むことで文字列とすることができます。また,文字列中に " を入れたいときは二つ続けて "" とします。

  MsgBox sMessage

では MsgBox 関数でメッセージボックスを表示して変数 sMessage に入っている文字列を表示しています。この関数はオプション引数を使用することでボタンを表示したりすることができます。

End Sub

の文で Sub Main プロシージャが終了します。始めた Sub プロシージャは End Sub で必ず終わらせなければいけません。

次の Macro1 が残っていますが,この Sub プロシージャは空です。Sub Main が必ずしも必要でないため,この Macro1 から始めたり, Macro1 を単独で実行したりすることもできます。

Sub Macro1

End Sub

Attach file: filetutorial_ide_module.png 390 download [Information] filetutorial_ide_macro.png 339 download [Information] filetutorial_ide_tools.png 365 download [Information] filetutorial_ide_hellodialog.png 364 download [Information] filetutor_ide_b_run.png 362 download [Information] filetutorial_ide_hello.png 148 download [Information] filetutor_ide_main_1.png 351 download [Information]

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes