AscW関数:文字のUnicodeコードポイントを取得する

AscW 関数は Excel VBA で用意されている関数の一つで、引数に指定した文字の Unicode コードポイントを取得することができます。ここでは Excel VBA における AscW 関数の使い方について解説します。

(Last modified: )

AscW関数の定義と使い方

AscW 関数は引数に指定した文字の Unicode コードポイントを返します。

AscW(string)

Unicode コードポイントとは、 Unicode で登録されているすべての文字に割り当てられている番号(符号位置)です。 Unicode の文字をファイルに保存する場合などには、このコードポイントをそのまま使用するのではなく、 UTF-8UTF-16 などの符号化方式を使って文字コードに変換されたものを使用します。

引数に指定する文字列は複数の文字列を指定することもできますが、引数に指定した文字列の先頭の文字の Unicode コードポイントを返します。

AscW 関数とは逆に、文字の Unicode コードポイントから文字を取得するには ChrW 関数を使います。詳しくは「ChrW関数:文字のUnicodeコードポイントから文字を取得する」を参照されてください。

次の例を見てください。

Debug.Print AscW("東")      '26481
Debug.Print AscW("東京都")  '26481

AscW 関数は引数の文字列の 1 文字目の Unicode コードポイントだけを返すので、どちらも 26481 とイミディエイトウィンドウに出力されます。

サンプルコード

それでは簡単なサンプルを作成して試してみます。

Option Explicit

Sub AscW関数()
    Range("C3").Value = AscW(Range("B3").Value)
    Range("C4").Value = AscW(Range("B4").Value)
    Range("C5").Value = AscW(Range("B5").Value)

    Range("D3").Value = "&H" & Hex(AscW(Range("B3").Value))
    Range("D4").Value = "&H" & Hex(AscW(Range("B4").Value))
    Range("D5").Value = "&H" & Hex(AscW(Range("B5").Value))
End Sub

AscW関数の定義と使い方(1)

このプログラムを実行すると AscW 関数の引数に B3 セルから B5 セルに入力されている値を 指定したときの戻り値取得します。そして取得した戻り値を C3 セルから C5 セルにそれぞれ代入します。また同じ値に対する AscW 関数の戻り値を Hex 関数を使って 16 進数に変換した値を D3 セルから D6 セルに代入します。

AscW関数の定義と使い方(2)

Hex 関数の使い方については「Hex関数:数値を16進数に変換した値を取得する」を参照されてください。

-- --

Excel VBA における AscW 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。