LibreOffice Basic ユーザーが定義するデータ型(構造体)
ユーザー定義のデータ型(構造体) この投稿ではLibreOfficeかApache OpenOfficeのマクロ言語であるBasicにおいてユーザー定義のデータ型を宣言する2種類の方法について記す。 ユーザー定義のデータ型はカスタム・データ型と呼ばれていることもある。それは型の違いに関わらず1つ以上の変数をまとめて1つのデータ型とし、そのデータ型に名前を付けたもの。その要素となる変数はメンバーと呼ばれている。 ユーザー定義のデータ型はC言語で言うところの構造体、Pascalで言うところのレコードによく似ている。Pythonの辞書にも似ているが、辞書はハッシュ・テーブルの一種であると解釈されるものかもしれない。 構造体やレコードとクラスとの違いは、構造体やレコードがデータ・プロパティだけを持ち、コード・プロパティを持たないこと。データ・プロパティとは単にプロパティと呼ばれていたりメンバー変数と呼ばれていたりするもの。コード・プロパティとはメソッドと呼ばれていたりメンバー函数と呼ばれていたりするもの。 LibreOffice BasicまたはApache OpenOffice Basicでは、ユーザー定義のデー型(構造体)を次のような2種類の方法で定義することができる。 Type宣言を用いる方法。 UNO(Universal Network Objects)を利用する方法。 Type宣言を用いて構造体を定義 モジュール内のサブルーチンの外にType宣言を記述することによって構造体を定義することができる。 Type宣言はサブルーチンの外側に置く必要があり、Typeというキーワードによって始まり、End Typeというキーワードによって終わる。 次の例では出版物の属性をひとまとまりにしたBooksという構造体を定義している。 REM ***** 構造体を定義 ***** 'VBA拡張 Option Compatible 'Typeを用いた構造体宣言 Type Books BookTitle As String Subtitle As String Author As String Translator As String Publisher As String PublicationDate As D...