#667 | VBAのコードに環境依存文字(特殊文字)を記述するには? | VBA | |
環境依存文字(特殊文字)の中には、「(株)」(実際は1文字)のようにモジュールのコード上に直接入力可能な文字もありますが、中にはそれを入力すると「?」に文字化けしてしまい記述できないものもあります。たとえば「copyrightを表す”丸にC”」や「立方メールの”mに3”」、「1文字の”(1)”」などです。 これらの文字をプログラムのコード内に記述したい場合、それを直接入力するのではなく、その文字の「16進数表記」と『ChrW』関数を使うことで対処することができます。 たとえば、テーブルに1件のレコードを追加するSQL文を例にとると、下記のような書き方をします。 ※ここでは「テーブル1」の「Data」フィールドにデータを書き込んでいます。 Dim dbs As Database Dim strSQL As String Set dbs = CurrentDb 'copyrightの"丸にC" strSQL = "INSERT INTO テーブル1 (Data) VALUES ('" & ChrW(&HA9) & "')" dbs.Execute strSQL '立方メールの"mに3" strSQL = "INSERT INTO テーブル1 (Data) VALUES ('" & ChrW(&H33A5) & "')" dbs.Execute strSQL '1文字の"(1)" strSQL = "INSERT INTO テーブル1 (Data) VALUES ('" & ChrW(&H2474) & "')" dbs.Execute strSQL '登録商標の"丸にR" strSQL = "INSERT INTO テーブル1 (Data) VALUES ('" & ChrW(&HAE) & "')" dbs.Execute strSQL '温泉のマーク strSQL = "INSERT INTO テーブル1 (Data) VALUES ('" & ChrW(&H2668) & "')" dbs.Execute strSQL '丸に〒 strSQL = "INSERT INTO テーブル1 (Data) VALUES ('" & ChrW(&H3036) & "')" dbs.Execute strSQL 実行結果: ここで、記述したい特殊文字の”16進数表記”をどのように調べるかですが、コード上に記述できないので当然イミディエイトウィンドウ上で関数を実行して調べるといったこともできません。 そこで、ひとつの方法としてExcelを利用します。 次のような手順で16進数を取得し、所定の数値を上記のようなコード上にコピー&ペーストします。
|
|||
|
Copyright © T'sWare All rights reserved |