宣言 Option_CompareステートメントBinaryモード・Textモード
※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。
※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。
Binary モードテスト/Option Compare Binary |
||
'文字列比較方法を Binary モードに設定します。 'Option Compare Binary '↑規定値で明示無しでもBinaryモード Private Sub testCompareBinary() Dim A As String, b As String Dim bln As Boolean, i As Byte i = i + 1 A = "*": b = "*" '全角半角 If A = b Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln i = i + 1 A = "A": b = "A" '全角半角 If A = b Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln i = i + 1 A = "A": b = "a" '大文字小文字 If A = b Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln i = i + 1 A = "あ": b = "ア" 'ひらがなカタカナ If A = b Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln '-------------------------------------------------------- i = i + 1 A = "*": b = "*" '全角半角 If InStr(1, A, b) <> 0 Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln i = i + 1 A = "*": b = "*" '全角半角/比較モードを指定 If InStr(1, A, b, vbTextCompare) <> 0 Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln i = i + 1 A = "あ": b = "ア" 'ひらがなカタカナ If InStr(1, A, b) <> 0 Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln i = i + 1 A = "あ": b = "ア" 'ひらがなカタカナ/比較モードを指定 If InStr(1, A, b, vbTextCompare) <> 0 Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln '1 [* : *] False '2 [A : A] False '3 [A : a] False '4 [あ : ア] False '5 [* : *] False '6 [* : *] True '7 [あ : ア] False '8 [あ : ア] True End Sub |
||
Text モードテスト/Option Compare Text |
||
' 文字列比較方法を Text モードに設定します。 Option Compare Text Private Sub testCompareText() Dim A As String, b As String Dim bln As Boolean, i As Byte i = i + 1 A = "*": b = "*" '全角半角 If A = b Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln i = i + 1 A = "A": b = "A" '全角半角 If A = b Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln i = i + 1 A = "A": b = "a" '大文字小文字 If A = b Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln i = i + 1 A = "あ": b = "ア" 'ひらがなカタカナ If A = b Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln '-------------------------------------------------------- i = i + 1 A = "*": b = "*" '全角半角 If InStr(1, A, b) <> 0 Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln i = i + 1 A = "*": b = "*" '全角半角/比較モードを指定 If InStr(1, A, b, vbBinaryCompare) <> 0 Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln i = i + 1 A = "あ": b = "ア" 'ひらがなカタカナ If InStr(1, A, b) <> 0 Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln i = i + 1 A = "あ": b = "ア" 'ひらがなカタカナ/比較モードを指定 If InStr(1, A, b, vbBinaryCompare) <> 0 Then bln = True Else bln = False End If Debug.Print i & "[" & A & " : " & b & "]" & bln '1 [* : *] True '2 [A : A] True '3 [A : a] True '4 [あ : ア] True '5 [* : *] True '6 [* : *] False '7 [あ : ア] True '8 [あ : ア] False End Sub |
||
Option Compare ステートメント文字列データの既定の比較方法を設定します。モジュール レベルで使います。
|
||
Option Compare ステートメントの使用例次の例では、Option Compare ステートメントを使って、既定の文字列比較方法を変更します。Option Compare ステートメントは、モジュール レベルでのみ使用します。 |
||
Option Compare Binary ' "AAA" は、"aaa" よりも小さくなります。 ' 文字列比較方法を Text モードに設定します。 Option Compare Text ' "AAA" と "aaa" は、等価です。 |