タイムマシーンがあったら、過去と未来どちらに行く?

エクセルに見えない文字(JISX0211 C0,C1 制御文字?)を表示又は入力させる方法

あるQRコード(1)の内容です。

先頭から
・3ケタ 「番号」 (数字3ケタ)
・1ケタ 「識別子」 0x1E(RS)
・3ケタ 「性別」(数字1ケタ)男=1、女=2
・1ケタ 「識別子」 0x1D(GS)
・4ケタ 「年齢」(数字3ケタ)
・フッタ 0x04(EOT)
すべて固定長。数値は前にゼロ埋め。

となっています。
このQRコード(1)を読込んでエクセルのセルに挿入すると

0121032となります。

これは(番号012、性別1、年齢32)になります。
ですが識別子やフッタが表示されません。

この0121032をQR生成ソフトでQRコード(2)に変換すると
識別子やフッタがないQRコードになってしまい、
QRコード(1)と照合させると相違するQRコードと判定されてしまいます。

QR生成ソフトにはQRコードにできる文字コードとして
制御コード:0x01~0x1F
となっています。
エクセルにこれ(JISX0211 C0,C1 制御文字?)を表示させたり
手入力(文字と文字の間に挿入)させるのは無理なのでしょうか?

よろしくお願いします。

A 回答 (2件)

コピーやペーストで制御文字が欠落するのはよくあることです。


リーダーから直接Excelのセルに入力してたら、もしかしたら制御文
字のあるべきところに1文字分の空白が見えてたかもしれませんね。
場合によってはフォントのデザインで空白が限りなく狭い場合もあ
りますので、len関数で文字数を確認するのがいいかも。

で、確かに制御文字が欠落していて補いたい場合ですが、制御文字
は数式の中でchar関数に10進表記で値を与えて使います。たとえば
0x1Eならchar(30)、0x04ならchar(4)ですね。これで添付画像の様に
新しい文字列を生成してやってみてはいかがでしょう。
「エクセルに見えない文字(JISX0211」の回答画像1
    • good
    • 0
この回答へのお礼

char(30)、char(4)ですね。
試したら多分だと思いますができたようです。
どうもありがとうございました。

お礼日時:2010/08/27 16:59

ふつう,制御コードは表示されません。

手入力でこれで入るが,表示はされません。
="012"&CHAR(30)&"1"&CHAR(29)&"032"&CHAR(4)
数多くあるなら,VBAですね。
Sub test()
s = ActiveSheet.Range("A1").Value
s = Left("0" & s, 7)
s1 = Left(s, 3)
s2 = Mid(s, 4, 1)
s3 = Right(s, 3)
s = s1 & Chr(&H1E) & s2 & Chr(&H1D) & s3 & Chr(&H4)
ActiveSheet.Range("A1").Value = s
End Sub
のようでしょうか。
    • good
    • 0
この回答へのお礼

項目が30種類で項目ごとにGSを入れないと元のコード同様にならないみたいです。
マクロしかないですか。
ちょっと難しそうです。
どうもありがとうございました。

お礼日時:2010/08/27 16:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報