No.1
- 回答日時:
ツール→アドインで分析ツールにチェックを入れます。
HEX2DECを使えるようにします。
=CHAR(HEX2DEC(3021))
で出ると思います。
分析ツールを使わない場合は、=CHAR(16進数3021を10進数にした数値)ででます。
早速の回答ありがとうございます。 初めての質問だったのでとても驚いています。 そこで、早速やってみました。ですが、分析ツールを使わないでも出来るとのことなので、Char関数を使ってみたのですが、コンパイルエラーになります。
そこで、ツール->アドインを使用としたのですが、ツールの下にはアドインはなく、アドインはツールと並んでありますが、その中には分析ツールにチェックするような項目はありませんでした。 AccessとExcelの両方を見たのですが同様でした。
そこでまた、Char関数をヘルプで覗いたところ、msowcf.dllファイルをインストールする必要があるとあり、ファイルは見つかったのですが、インストールの仕方がわかりません。 お手数ですが、インストールする方法を教えていただきたいのです。 よろしくお願いいたします。
No.2
- 回答日時:
先ほどの回答は早とちりしていました。
シート上で行ってしまい、質問にVBA・・・があるのを見落としていました。16進数を10進数に変換することを簡単に行うためにアドインを持ち出してしまいました。問題はこれではなかったようです。すいませんでした。シート上なら、3021(16進数)を10進数(12321)に直して、Char(12321)で亜が出ます。
気になったのでVBAで行ってみたら、なるほど、うまくいきません。色々行ってみましたが???です。シートでなら簡単なので、苦し紛れに下記を書いてみました。VBAを使っていることになるのかどうか分かりませんが、例として、A1に16進数を書き込み、B1に=Char(A1)を書いておき、VBA側でRange("B1")で値を拾っています。
これも回答になっていないと思いますが参考程度にして下さい。また調べてみます。
他の方からいい回答がきますように。
'A1に16進数を入れて、B1にはあらかじめ「=Char(A1)」をセットしています
Sub Code2Kanji()
Dim i As Integer 'カウンタ
Dim cd As Integer '漢字コード
Dim cd2Kanji As String 'その漢字
Dim cdHex As Long 'cdを16進数に
cd = 3021
For i = 1 To 4
cdHex = cdHex * 16 + Mid(cd, i, 1)
Next
Range("A1") = cdHex
cd2Kanji = Range("B1")
Debug.Print cd2Kanji
End Sub
No.3ベストアンサー
- 回答日時:
一人で回答を汚しています。
すいません。一応、VBAの中だけでできました。JisからShiftJisに変換しています。何個かの漢字で確かめましたが全部ではないので何かあるかも・・・
Sub jiscode2Kanji()
Dim kjCD As String
kjCD = "3021" '*** これをセット ***
Jis2ShiftJis Val("&H" & Mid(kjCD, 1, 2)), Val("&H" & Mid(kjCD, 3, 2))
End Sub
Sub Jis2ShiftJis(HiByt As Double, LoByt As Double)
'下位バイト
If HiByt And 1 Then
If LoByt < &H60 Then
LoByt = LoByt + &H1F
Else
LoByt = LoByt + &H20
End If
Else
LoByt = LoByt + &H7E
End If
'上位バイト
If HiByt < &H5F Then
HiByt = (HiByt + &HE1) \ 2
Else
HiByt = (HiByt + &H161) \ 2
End If
'漢字
Dim knjCode As Double
knjCode = HiByt * &H100 + LoByt
If knjCode < 0 Then
knjCode = knjCode + 65536
End If
Range("A1") = Chr(knjCode)
End Sub
何度も回答ありがとうございます。 こんな時間に回答していただけるなんてとても感謝しております。
早速、実行してみました。 OKです。 それで、漢字一覧表を作成し、全件で確認しました。 そうしたら、1点だけ問題がありました。 それは、上位バイトが奇数で、下位バイトが7Fでも漢字を取得しています。 連続して次のコードも取得しています。 つまり、たとえば押はJISコードが3221ですが317Fでも現れ、応は317Eですが3220でも出てくるのです。 同様に、前述の上位バイトが奇数のときに最後の拡張漢字7B7Fと7C20でも出てきます。 ですが、これは、私にもカットできるので、本当にありがとうございました。 ゆっくりお休みください。
「マスターに推薦」したいのですが、初めてなので、どのようにしたらいいのかわかりません。次回になると思いますが、悪しからず。 とりあえずお礼まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら…
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
16進コード文字列を文字列に変換
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
おすすめ情報