Excel VBA テクニック集 |
|
漢字コードから、漢字への変換する計算式です。 シフトJISのコードから漢字への変換する計算式です。 Function Hex_To_SJis(Hex_F As String) As String Dim Hex1_W As Long Dim Hex2_W As Long 'ヘキサコード(文字4桁)かコードへの変換 Hex1_W = Hex_Code(Mid(Hex_F, 1, 1)) * 16 _ + Hex_Code(Mid(Hex_F, 2, 1)) Hex2_W = Hex_Code(Mid(Hex_F, 3, 1)) * 16 _ + Hex_Code(Mid(Hex_F, 4, 1)) '文字列をUnicodeに変換します。 Hex_To_SJis = StrConv(ChrB(Hex1_W) & ChrB(Hex2_W), vbUnicode) End Function 'ヘキサコード(文字)から数値への変換関数 Private Function Hex_Code(Hex_F As String) As Long Const Hex_T = "0123456789ABCDEF" Hex_Code = InStr(Hex_T, UCase(Hex_F)) - 1 End Functionこの計算式で、下記のような表ができます。 たとえば、92行S列の計算式は「=Hex_To_SJis("889F")」になり、計算結果は「亜」になります。 さて、初めてコンピュータが世の中に出たとき、使ったのは英語圏の人たちなので、 1バイト文字で十分でした。日本では、「漢字が使いたい」という要望から、2バイト文字が 考えられて、JISコード体系が作られました。各メーカーは、運用上、JISコード体系を 参考にさまざまなコード体系ができました。PC98シリーズでは、1バイト文字・2バイト文字 が混在できるコード体系「シフトJIS」が採用されました。 世界レベルで統一しようとしてできたのが、Unicode体系です。 旧1バイト文字、0〜9,A〜Bは、左側にヘキサで00が付いて2バイト文字になります。 Unicodeから、漢字への変換する計算式です。 Function Hex4_To_Unicode(Hex_F As String) As String Dim Hex_W As Long Hex_W = Hex_Code(Mid(Hex_F, 1, 1)) * 16 * 16 * 16 _ + Hex_Code(Mid(Hex_F, 2, 1)) * 16 * 16 _ + Hex_Code(Mid(Hex_F, 3, 1)) * 16 _ + Hex_Code(Mid(Hex_F, 4, 1)) Hex4_To_Unicode = Application.Unichar(Hex_W) End Function Function Hex5_To_Unicode(Hex_F As String) As String Dim Hex_W As Long Hex_W = Hex_Code(Mid(Hex_F, 1, 1)) * 16 * 16 * 16 * 16 _ + Hex_Code(Mid(Hex_F, 2, 1)) * 16 * 16 * 16 _ + Hex_Code(Mid(Hex_F, 3, 1)) * 16 * 16 _ + Hex_Code(Mid(Hex_F, 4, 1)) * 16 _ + Hex_Code(Mid(Hex_F, 5, 1)) Hex5_To_Unicode = Application.Unichar(Hex_W) End Functionこの計算式で、下記のような表ができます。 00XX〜FFXX 100XX〜1FFXX 200XX〜2FFXX |
「こだわりハウス」写真館| 数学公式集| ピンポイントストリートビュー| FaceBook| Excel Vba テクニック集| Excel 計算式解析・他解析| 富山の建築家| Excel 計算式解析・他解析| 積分の定義・積分の記号の意味の研究| |