Excel VBA Asc関数の使い方と文字列の文字コードを取得する方法

VBA関数

今回はAsc関数で指定した文字列の文字コード(Shift_JIS)を取得する方法をご説明します。

Excelの全角文字を半角文字に変換する「ASC関数」とは違いますので、ご注意ください。

普段Excelではあまり使用する事がありませんが、文字コードを扱う処理をするときに使用します。

また、AscB、AscW関数についても簡単にご説明します。

1.Asc/AscB/AscW関数の使い方

Asc関数

Asc関数は指定した文字の文字コード (Shift_JIS) を取得します。

構文は次のように記述します。

Asc(文字列) 

文字列または文字列が格納されている変数を指定します。

指定した文字列のShift_JIS の文字コードを数値で返します。

指定した文字列が半角の場合には「0~255」の範囲を、全角のときは「-32768~32767」の範囲で返します。

基本的に引数「文字列」には 1 文字だけ渡します。

仮に複数の文字列を渡したときは 、1 文字目の文字コードを返します。

AscB関数

AscB 関数は文字のバイトデータを取得します。

構文は次のように記述します。

AscB(文字列) 

文字列または文字列が格納されている変数を指定します。

指定した文字の、最初の文字のバイトデータを整数型で返します。

引数に文字列が含まれていないと、実行時エラーが発生します。

AscW関数

AscW関数は文字のUnicodeを取得します。

構文は次のように記述します。

AscW(文字列) 

文字列または文字列が格納されている変数を指定します。

指定した文字列の、最初の文字のUnicode文字セットを返します。

引数に文字列が含まれていないと、実行時エラーが発生します。

2.サンプルコード

Asc関数
Sub Sample1()

'半角数字
Debug.Print Asc("1") '49

'全角数字
Debug.Print Asc("1") '-32176

'半角小文字
Debug.Print Asc("a") '97

'半角大文字
Debug.Print Asc("A") '65

'全角大文字
Debug.Print Asc("あ") '-32096

'1文字目の「あ」を取得
Debug.Print Asc("あいう") '-32096

End Sub
AscB関数
Sub Sample2()

'半角数字
Debug.Print AscB("1") '49

'全角数字
Debug.Print AscB("1") '17

'半角小文字
Debug.Print AscB("a") '97

'半角大文字
Debug.Print AscB("A") '65

'全角大文字
Debug.Print AscB("あ") '66

'1文字目の「あ」を取得
Debug.Print AscB("あいう") '66

End Sub
AscW関数
Sub Sample3()

'半角数字
Debug.Print AscW("1") '49

'全角数字
Debug.Print AscW("1") '-239

'半角小文字
Debug.Print AscW("a") '97

'半角大文字
Debug.Print AscW("A") '65

'全角大文字
Debug.Print AscW("あ") '12354

'1文字目の「あ」を取得
Debug.Print AscW("あいう") '12354

End Sub
タイトルとURLをコピーしました