訪問して頂きありがとうございます。まさふくろーです。
この記事では、文字列の長さ、バイト数を取得する方法をご紹介します。
文字列の長さ、バイト数を取得する関数
Len関数
Len(string)
説明 |
Len関数は、引数 stringに指定した文字列の長さ(文字数)を返します。 |
LenB関数
LenB(string)
説明 |
LenB関数は、引数 stringに指定した文字列のバイト数を返します。 |
全角1文字のバイト数は2バイト、半角1文字のバイト数は1バイトです。 |
LenB関数のみでは、正しくバイト数を取得できません。正しくバイト数を取得するには、StrConv関数と組み合わせます。 |
StrConv関数
StrConv ( string, conversion [, LCID ] )
説明 |
StrConv関数は、引数 stringに指定した文字列を、引数 conversionに指定した文字の種類に変換します。 |
変換できる種類は、半角、全角、大文字、小文字、ひらがな、カタカナがあります。 |
引数 LCIDは、国別情報識別子を指定します。日本を表す LCIDは 1041 です。 |
引数 LCIDの指定が必要なのは、英語など日本語以外の環境で、ひらがなやカタカナなどの変換を行う場合です。 |
指定項目 | 必須 | 説明 |
string | 〇 | 変換させる文字列を指定します。 |
conversion | 〇 | 定数または値を指定します。 |
LCID | ー | 国別情報識別子を指定します。 |
引数「conversion」に指定する定数と値
定数 | 値 | 内容 |
vbUpperCase | 1 | 文字列を大文字に変換。 |
vbLowerCase | 2 | 文字列を小文字に変換。 |
vbProperCase | 3 | 文字列の各単語の先頭の文字を大文字に変換。 |
vbWide | 4 | 文字列内の半角文字を全角文字に変換。 |
vbNarrow | 8 | 文字列内の全角文字を半角文字に変換。 |
vbKatakana | 16 | 文字列内のひらがなをカタカナに変換。 |
vbHiragana | 32 | 文字列内のカタカナをひらがなに変換。 |
vbUnicode | 64 |
システムの既定のコードページを使って文字列をUnicodeに変換。 |
vbFromUnicode | 128 | 文字列をUnicodeからシステムの既定のコードページに変換。 |
日本語版Windowsの場合の既定のコードページはANSIコードページ(932)で、これはシフトJIS(日本語文字コード)を表します。 |
サンプルプログラム(Len関数とLenB関数の比較)
1 2 3 4 5 6 7 8 9 10 11 |
Private Sub Sample() MsgBox "全角「ABCDEF」の文字列の長さ【Len】= " & Len("ABCDEF") MsgBox "半角「ABCDEF」の文字列の長さ【Len】= " & Len("ABCDEF") MsgBox "全角「ABCDEF」の文字列のバイト数【LenB】= " & LenB(StrConv("ABCDEF", vbFromUnicode)) MsgBox "半角「ABCDEF」の文字列のバイト数【LenB】= " & LenB(StrConv("ABCDEF", vbFromUnicode)) End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 | 全角「ABCDEF」の文字列の長さを取得し、文字列の長さをメッセージボックスに表示します。 |
5 | 半角「ABCDEF」の文字列の長さを取得し、文字列の長さをメッセージボックスに表示します。 |
7 |
全角「ABCDEF」の文字列のバイト数を取得し、文字列のバイト数をメッセージボックスに表示します。 |
バイト数を取得する際、StrConv関数で、シフトJIS(日本語文字コード)に変換します。 | |
9 |
半角「ABCDEF」の文字列のバイト数を取得し、文字列のバイト数をメッセージボックスに表示します。 |
バイト数を取得する際、StrConv関数で、シフトJIS(日本語文字コード)に変換します。 |
実行結果
サンプルプログラム(濁点・半濁点の有無チェック)
1 2 3 4 5 6 7 8 9 10 11 |
Private Sub Sample() Dim value As String value = "パワーポイント" If Len(StrConv(value, vbNarrow)) <> Len(value) Then MsgBox "濁点・半濁点あり" End If End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 | チェックする値用変数「value」(文字列型)を宣言。 |
5 | 文字列「パワーポイント」を変数「value」に代入。 |
7 | 変数「value」の値を、半角変換した後の文字列の長さと、変換しない文字列の長さを比較し、文字列の長さが異なる場合、 |
8 | 「濁点・半濁点あり」とメッセージボックスに表示します。 |
文字列「パワーポイント」を半角変換した場合の文字列の長さは「9」、変換しない場合の文字列の長さは「7」となります。 補足説明
実行結果
最後まで読んでいただき、ありがとうございました!
本のまとめ関連記事はこちら