Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Access 2016)
VBAに中国の漢字を書くと文字化けする。
投稿日時: 20/02/04 00:29:49
投稿者: かんだりゅういち

こんばんは。
色々とネットで調べるもわからず、行き詰まってしまいまして、
諸先輩方にお助けをお願いすることにしました。
 
ACCESSのVBAに、エクセルを操作する記述を書いております。
 
WsObj.Range("A1") = "轻工进出口有限公司"
と記述したいのですが、
ACCESSのVBA上で、記述した文字が下記に変わってしまいます。
 
WsObj.Range("A1") = "?工?出口有限公司"
 
ACCESSのVBAに記述出来ない状態です。
ちなみに、この状態でVBAを実行すると、エクセルのA1セルに、
?工?出口有限公司
と表示されます。
 
どなたかご存知の方、宜しくお願い申し上げます。
かんだ

回答
投稿日時: 20/02/04 08:27:19
投稿者: ライスマン

https://cn-seminar.com/chinese-garbled-text-15785
 
上記サイトの1-4 マイクロソフトの公式サイトから
中国語対応のフォントをダウンロードする
を試したら如何でしょうか

回答
投稿日時: 20/02/04 09:23:10
投稿者: よろずや

VBA自体はユニコード対応していますので、文字化けすることはありません。
問題は、VBE(エディタ)の方にあります。
VBEの文字コードはSJISですので、ユニコードにしかない文字は使用できません。
 
どこかのセルに「轻工进出口有限公司」を入れておいて
WsObj.Range("A1") = Range(どこかのセル)
とするか、「轻」の文字コードを調べて ChrW関数 で文字コードを指定しましょう。
WsObj.Range("A1") = ChrW(文字コード) & "工" & ChrW(文字コード) & "出口有限公司"

投稿日時: 20/02/04 09:56:08
投稿者: かんだりゅういち

ライスマン様
ありがとうございます。
やってみましたが、ダメでした。
 
よろずや様
ありがとうございます。
ご指導いただいた方法で解決できました。
 
これにて、解決済みとさせていただきます。