- Excel VBA 質問スレ Part34
76 :デフォルトの名無しさん[sage]:2014/07/06(日) 18:13:03.33 ID:o4RIpn+i - 教えて下さいませ VBAでの文字操作で
Str1 = ChrW(&H3042): Debug.Print Str1, Hex(AscW(Str1)) Str1 = ChrB(&H42) & ChrB(&H30): Debug.Print Str1, Hex(AscW(Str1)) Str1 = ChrB(&H30) & ChrB(&H42): Debug.Print Str1, Hex(AscW(Str1)) <結果> あ 3042 あ 3042 ? 4230 となったんですが ChrB(&Hnn) & ChrB(&Hnn) とする時には 逆にしないと いけないのは なぜなんでしょうか そもそも使い方が間違っているのか 何か理由があるのか知りたいでのす。 よろしくお願いします。
|
- Excel VBA 質問スレ Part34
78 :デフォルトの名無しさん[sage]:2014/07/06(日) 20:00:32.87 ID:o4RIpn+i - >>77
ありがとう UniCode自体は知識として知ってはいたけど Excelは BEだと 思い込んでた ChrW()の返り値が BEなんだもん いままではChrW()使っていたけど クグっていた時に偶然見つけたのです でやってみたらアレ?って感じで という事は 内部 :UniCode(Litle Endian) AscB(),ChrB():バイナリ AscW(),ChrW():UniCode(Big Endian) Asc(),Chr() :Shift-JIS(日本語環境時) という理解でいいのかな?
|
- Excel VBA 質問スレ Part34
80 :76[sage]:2014/07/06(日) 20:20:28.44 ID:o4RIpn+i - >>79
うん おもいっきり 混乱してる で自分で気づいた事 ×Excelは BEだと 思い込んでた ChrW()の返り値が BEなんだもん ○Excelは BEだと 思い込んでた AscW()の返り値が BEなんだもん 他に 理解の上で おかしい点ある?
|
- Excel VBA 質問スレ Part34
83 :76[sage]:2014/07/06(日) 20:52:13.02 ID:o4RIpn+i - >>81-82
ありがと お二人が言われている事全てを理解できて ないけど 根本的に >excelやunicodeに依存する話じゃない。 って事なんだろうなとは思った さすがに CPUのアーキテクチャ云々は 趣味でVBAを扱っている身としては 考えた事もなかった
|