文字操作 OptionCompareステートメント文字列データの既定の比較方法を設定する

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Option Compare ステートメント

文字列データの既定の比較方法を設定します。モジュール レベルで使います。

構文

Option Compare {Binary | Text | Database}

解説

Option Compare ステートメントを使う場合は、モジュール内のどのプロシージャよりも前に記述する必要があります。
Option Compare ステートメントは、モジュール内での文字列の比較方法 (Binary モード、Text モード、または Database モード) を指定するものです。Option Compare ステートメントが記述されていないモジュールでは、既定の文字列比較方法である Binary モードが使われます。
Binary モード
では、文字列比較の並べ替え順序は、バイナリ文字コードのコード順によって行われます。Microsoft WIndows 版 Visual Basicでは 、文字コードは Unicode で表現されるので、結果は Unicode のコード順によって決まります。Binary モードでの並べ替えの例を次に示します。(ただし、バージョン4.0 以前の Windows 16bit 版 Visual Basic、または Macintosh 版 Visual Basic では、文字コードはシフト JISで表現されていたため、結果が異なる場合があります。)
* < "a" < "z" < "あ" < "ん" < "ア" < "ン" < "亜" < "*" < "A" < "ア" < "ン"
Text モード
では、文字列比較は、オペレーティング システムの国別情報の設定で決まります。日本語/日本の場合は、50 音順で、大文字と小文字、文字幅、カタカナとひらがなを区別しない並べ替え順になります。Text モードでの並べ替えの例を次に示します。
(*=*) < (0=0) < (9=9) < (A=a=A=a) < (B=b=B=b) < (ア=ア=あ) < (ン=ン=ん) < 亜
Database モードは、Microsoft Access でのみ使用できます。このモードの文字列比較の並べ替え順序は、データベースの文字列比較に適用される国別の ID によって決まります。

Option Compare ステートメントの使用例

次の例では、Option Compare ステートメントを使って、既定の文字列比較方法を変更します。Option Compare ステートメントは、モジュール レベルでのみ使用します。
' 文字列比較方法を Binary モードに設定します。
Option Compare Binary     ' "AAA" は、"aaa" よりも小さくなります。
' 文字列比較方法を Text モードに設定します。
Option Compare Text        ' "AAA" と "aaa" は、等価です。

その他のOption キーワード

Option Base ステートメント
配列の添字の最小値の既定値を設定します。モジュール レベルで使用します。


'Option Base ステートメントの使用例
'次の例では、Option Base ステートメントを使って、
'配列の添字の既定の最小値 0 を変更します。LBound
'関数は、配列内の指定された次元の添字の最小値を返します。
'Option Base ステートメントは、モジュール レベルでのみ使います。

Option Base 1            ' 配列の添字の既定値を 1 に設定します。

Dim Lower
Dim MyArray(20), TwoDArray(3, 4)        ' 配列変数を宣言します。
Dim ZeroArray(0 To 5)    ' 添字の既定の最小値を変更します。
' 配列の添字の最小値を求めるには、LBound 関数を使います。
Lower = LBound(MyArray)             ' 1 が返ります。
Lower = LBound(TwoDArray, 2)        ' 1 が返ります。
Lower = LBound(ZeroArray)           ' 0 が返ります。
Option Explicit ステートメント
モジュール内のすべての変数に対して、明示的な宣言を強制します。モジュール レベルで使用します。


'Option Explicit ステートメントの使用例
'次の例では、Option Explicit ステートメントを使って、
'すべての変数を明示的に宣言するように設定します。宣言
'されていない変数を使うとコンパイル時にエラーが発生します。
'Option Explicit ステートメントは、モジュール レベルでのみ使用します。

Option Explicit    ' すべての変数を明示的に宣言するようにします。
Dim MyVar            ' 変数を宣言します。
MyInt = 10        ' 宣言されていない変数を使うとエラーが発生します。
MyVar = 10        ' 宣言済みの変数であれば、エラーは発生しません。
Option Private ステートメント
複数のプロジェクト間で参照可能なホスト アプリケーションにおいて Option Private Module ステートメントを使うと、プロジェクトの外部からモジュールの内容が参照できなくなります。単独で Visual Basic を使用している場合など、外部からの参照を許可しないホスト アプリケーションでは、Option Private ステートメントは無効です。


'Option Private ステートメントの使用例
'次の例では、Option Private ステートメントをモジュール レベルで使って、
'モジュール全体をプライベートとして設定します。Option Private Module
'では、Private 宣言を行っていないモジュール レベルの要素は、そのモジュール
'が含まれるプロジェクト内からは参照できますが、ほかのアプリケーションやほか
'のプロジェクトからは参照できません。

Option Private Module
                        ' モジュールがプライベートであることを示します。

 

 

 

2000年01月01日|[VBサンプルコード]:[文字操作]