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でも出てきます。 ですが、これは、私にもカットできるので、本当にありがとうございました。 ゆっくりお休みください。
「マスターに推薦」したいのですが、初めてなので、どのようにしたらいいのかわかりません。次回になると思いますが、悪しからず。 とりあえずお礼まで。
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.1
- 回答日時:
ツール→アドインで分析ツールにチェックを入れます。
HEX2DECを使えるようにします。
=CHAR(HEX2DEC(3021))
で出ると思います。
分析ツールを使わない場合は、=CHAR(16進数3021を10進数にした数値)ででます。
早速の回答ありがとうございます。 初めての質問だったのでとても驚いています。 そこで、早速やってみました。ですが、分析ツールを使わないでも出来るとのことなので、Char関数を使ってみたのですが、コンパイルエラーになります。
そこで、ツール->アドインを使用としたのですが、ツールの下にはアドインはなく、アドインはツールと並んでありますが、その中には分析ツールにチェックするような項目はありませんでした。 AccessとExcelの両方を見たのですが同様でした。
そこでまた、Char関数をヘルプで覗いたところ、msowcf.dllファイルをインストールする必要があるとあり、ファイルは見つかったのですが、インストールの仕方がわかりません。 お手数ですが、インストールする方法を教えていただきたいのです。 よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- C言語・C++・C# VisualStudioのソースコードで漢字を使いたい 4 2022/05/21 10:16
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- デスクトップパソコン 40年間の悩み キーボードにおいて初期値として漢字ローマ字変換に設定する方法 8 2023/05/08 14:50
- 日本語 中国語と日本語とでは、どちらが先に漢字を廃止するでしょうか? 2 2023/01/29 13:45
- その他(パソコン・スマホ・電化製品) スマホで検索について 3 2022/06/06 09:21
- 日本語 漢字の書き順 9 2023/02/11 07:51
- Excel(エクセル) EXCELで、漢字のみ抽出する式を教えてください。 6 2022/04/27 14:40
- その他(IT・Webサービス) 読めない漢字 4 2022/06/05 16:36
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
おすすめ情報