[VBA] 文字コードと文字列の変換 (Asc 関数と Chr 関数)

Asc 関数で文字列に対応する文字コードに変換します

 Asc 関数 は指定した文字を ASCII コードに対応する数値に変換します。
 たとえば小文字のアルファベットの a と z を表すコードを知りたいときは次のようなマクロを書きます。

 Sub AscTest1()

  Debug.Print Asc("a"); Asc("z")

 End Sub

 実行すると「 97 122 」という数値が返ってくるので、小文字のアルファベットには 97 ~ 122 という数値が対応していると推測できるのです。ついでに大文字のアルファベットも調べておきましょう。

 Sub AscTest2()

  Debug.Print Asc("A"); Asc("Z")

 End Sub

 実行すると「 65 90 」という数値が返ってきます。なので大文字アルファベットには 65 ~ 90 の数値が割り当てられていることがわかります。次はひらがなの「あ」と「ん」を調べてみます。

 Sub AscTest3()

  Debug.Print Asc("あ"); Asc("ん")

 End Sub

 実行すると「 -32096 -32015 」という数値が返ってきます。
 

Chr 関数で文字コードに対応する文字列に変換します

 Chr 関数 は Asc 関数とは逆に、指定した ASCII コードに対応する文字に変換します。たとえば

 Sub ChrTest1()

  Debug.Print Chr(97)

 End Sub

というマクロを実行すると「 a 」という小文字アルファベットが返ってきます。さきほど Asc 関数でひらがなには -32096 ~ -32015 という数値が対応していることを調べましたけど、具体的にどんなふうに割り当てられているか知りたいときは、ヘルプの ASCII コードを眺めるか(目がちかちかするけどね)、次のようなマクロを書いて調べます。

 Sub ChrTest2()

 For i = -32096 To -32015

 Debug.Print i; Chr(i)

 Next i

 End Sub

 このマクロを実行すると

 -32096 あ
 -32095 ぃ
 -32094 い
 -32093 ぅ
 -32092 う
 -32091 ぇ
 -32090 え
 ・・・・・・

というように各コードに対応するひらがながずらずら並びます(やっぱり目がちかちかするけどね)。

 ≫ VBA 辞典メニューに戻って他の記事も読んでね~♪

Google広告
スポンサーリンク
スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください