Unicodeスカラー値を文字列に変換する関数
掲示板の回答用に作成した関数です。文字列をUnicodeスカラー値に変換する関数もあります。
vbaでunicodeスカラを文字列に変換したいのですが、やり方をイメージで... - Yahoo!知恵袋
難易度:
変換関数
例えば、
「U+30c6U+30b9U+30c8」を「テスト」 に変換
逆に、
「テスト」を「U+30c6U+30b9U+30c8」 に変換する関数です。
標準モジュールに下記の関数をコピーして貼り付けてください。
使用例
解説
文字列をUnicodeスカラー値に変換
AscW関数でUnicodeでの文字コードを取得できます。
この数値を16進数表記の文字列に変換するのは、Hex関数で可能です。
Right("000" & Hex(AscW(c)), 4) で桁数を4桁に固定してます。
Unicodeスカラー値を文字列に変換
Unicodeスカラー値の U+30c6 の 30c6 の部分は、16進数表示になっています。
VBAでは、16進数は &H を付けて、&H30c6 というように表記します。
"30c6" という16進数文字列は"&H"を付けると、Val関数で数値に変換できます。
その数値を ChrWに引数として渡すと文字列を取得できます。