Apache OpenOffice Basic プログラムの概要

From Apache OpenOffice Wiki
Jump to: navigation, search
doc OOo
Book.png

Apache OpenOffice Basic はインタプリタ型の言語です。C++ や Delphi とは異なり、Apache OpenOffice Basic のコンパイラは、自動的に実行できる実行可能ファイルまたは自動抽出ファイルを作成しません。代わりに、Apache OpenOffice の内部で Apache OpenOffice Basic プログラムを実行します。これらのコードは、事前にチェックが行われてから、1 行ずつ実行されます。

プログラム行

Basic インタプリタには、コードを 1 行ずつ実行していくという点で、他のプログラミング言語と大きく異なる点があります。たとえばソースコード内に改行記号がある場合、Java、C++、Delphi などのプログラミング言語では、このような改行記号は無視されますが、Basic 言語の場合は、改行コードまでの 1 行が 1 つのプログラミングコードとして完結している必要があります。同様に、関数呼び出しや数値演算および、関数やループのヘッダ部なども、1 行の中に収まっている必要があります。

ただし、コードを記入するスペースが足りなかったり、極端に長い行になるような場合は、下線記号 (_) を末尾に追加することで、複数の行を 1 行と認識させることができます。次のサンプルコードでは、実質的に 1 行の数値演算行を、見かけ上 4 行に分割しています。

LongExpression = (Expression1 * Expression2) + _
(Expression3 * Expression4) + _ 
(Expression5 * Expression6) + _
(Expression7 * Expression8)
Documentation note.png 下線記号は、行の末尾に記入する必要があり、スペース記号やタブ記号を続けることはできず、そのような場合はエラーが発生します。

このような行の分割機能に加えて、Apache OpenOffice Basic では、コロン記号を挿入することで、1 行を複数のセクションに分割することができます。この機能はコードの表示スペースを整える場合に有用です。たとえば次のコードは、

a = 1 
a = a + 1 
a = a + 1 

次のように 1 行にまとめることができます。

a = 1  :  a = a + 1  :  a = a + 1

コメント

Apache OpenOffice Basic のプログラムコード内には、通常の実行行以外にコメント行を記述することができ、プログラム各部の説明および、各種の参考情報などを記入しておくことができます。

Apache OpenOffice Basic の場合、プログラムコード内へのコメント行の記述は、次の 2 通りの方法が可能です。

  • アポストロフィー記号に続く部分は、すべてコメントと見なされます。
    Dim A    ' This is a comment for variable A
  • キーワード Rem に続く部分もコメントと見なされます。
    Rem This comment is introduced by the keyword Rem.

通常これらのコメントは、該当行の末尾までがコメントの内容となります。Apache OpenOffice Basic は、それ以降の行を再び通常の実行行として解釈します。複数行にわたるコメントを記述する場合は、各行ごとにコメント指定記号を付ける必要があります。

Dim B     ' This comment for variable B is relatively long
          ' and stretches over several lines. The
          ' comment character must therefore be repeated 
          ' in each line.

マーカー

Apache OpenOffice Basic のプログラム内には、数十から数千個のマーカー (変数、定数、関数などの名前) を設定できます。マーカーの名前は、次の命名規則に従う必要があります。

  • マーカーに使える文字は、アルファベット、数字、下線記号 (_) だけです。
  • マーカーの先頭は、アルファベッドか下線記号で始める必要があります。
  • マーカーには、ä â î ß などの特殊文字は使用できません。
  • マーカーの長さは、最大 255 文字です。
  • 大文字と小文字は区別されません。たとえば、OneTestVariable というマーカーは、onetestVariableONETESTVARIABLE と同じ変数を定義します。
    ただし、この規則には例外が 1 つあり、UNO-API 定数については、大文字と小文字が区別されます。UNO の詳細については、「Apache OpenOffice API の概要」を参照してください。
Documentation note.png Apache OpenOffice Basic と VBA では、マーカーの記述規則が異なります。たとえば、Apache OpenOffice Basic では、Option Compatible を指定した場合のみ、マーカーに特殊文字が使えるようになっていますが、これは多言語プロジェクトを扱う際に問題が生じる可能性があるためです。

次に、使用できるマーカーと使用できないマーカーの例をいくつか示します。

Surname      ' Correct 
Surname5     ' Correct (number 5 is not the first digit)
First Name   ' Incorrect (spaces are not permitted)
DéjàVu       ' Incorrect (letters such as é, à are not permitted)
5Surnames    ' Incorrect (the first character must not be a number)
First,Name   ' Incorrect (commas and full stops are not permitted)


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools