質問
2020年5月26日火曜日 1:37
初めて質問します。
Excel2016の開発画面で フォームを作り、そのフォームのCaptionを全角で入力すると、文字化けします。
ちなみにWord2016でも同じです。
例えば、ActiveX のコマンドボタンを作り、 データ入力 とすると メタ痘ヘ と変換されます。
ちなみに、デフォルトは MS明朝 にしています。
対処法はあるのでしょうか?
(ちなみに、ネットで検索したら、Excel2013のレジストリエディタによる数値の変更の記事がありましたが、2016には同様の名前がありませんでした。 コンピューター\HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options )
すべての返信 (16)
2020年5月26日火曜日 4:52 | 1 票
"MS明朝" というのは、
"MS 明朝" のことかと思いますが、当方では再現させられませんでした。
Excel 2016 MSO (16.0.12730.20144) 32 ビット
バージョン 2004 (ビルド 12730.20270 クイック実行)
月次チャネル
ひとまず、フォントキャッシュを削除してみるというのは如何でしょう。
2020年5月26日火曜日 6:08
そのフォームのCaptionを全角で入力すると、文字化けします。
ちなみに、デフォルトは MS明朝 にしています。
Form の Caption のフォントは UserForm 側からは指定できず、OS の設定に準拠するはずです。CommandButton の Caption であれば、Font プロティにてフォントを設定できます。
データ入力 とすると メタ痘ヘ と変換されます。
Shift_JIS でエンコードしてみると、バイナリの一部が欠けたようにも見えますね…。
83-66-81-5B-83-5E-93-FC-97-CD:「データ入力」
83-81-83-5E-93-97-CD:「メタ痘ヘ」
問題が発生するのはデザイン時だけなのでしょうか。
プログラムから Caption をセットした場合はどうなりますか?
Option Explicit
Private Sub CommandButton1_Click()
Const SHIFTJIS As Integer = 128
Dim msg As String
msg = "データ入力"
Dim f As StdFont
Set f = New StdFont
f.Name = "MS 明朝"
f.Charset = SHIFTJIS
Set Me.CommandButton1.Font = f
Set Me.Label1.Font = f
Set Me.Font = f
Me.CommandButton1.Caption = msg
Me.Label1.Caption = msg
Me.Caption = msg
End Sub
2020年5月27日水曜日 1:26
ありがとうございました。
フォントキャッシュの削除ではできませんでした。
が、次の プログラムからのセット では文字化けをせず、うまくできました。
やはり、デザイン画面のプロパティ入力では文字化けします。
2020年5月27日水曜日 1:45
事象が発生しているのは、CommandButton の Caption でしょうか。UserForm の Caption でしょうか。
先述した通り、UserForm の Caption 表示は、OS 側の設定に依存するはずです。
あるいは、デザイン時に化けるだけで、実行時には化けない状態でしょうか? だとすると、開発環境固有のトラブルかもしれません。
現在使用している Office の「詳細」なバージョンを教えてください。
今回の質問では、標題が『excel2019』、本文が『Excel2016』となって不一致になっていますが、知りたいのは、[ファイル]-[アカウント]-[Excel のバージョン情報]で確認できる、より詳細なバージョン情報です。
2020年5月27日水曜日 2:53
>事象が発生しているのは、CommandButton の Caption でしょうか。UserForm の Caption でしょうか。
両方です。
実行時も化けたままです。
エクセルのバージョンです。最初、2019と思い込んでましたが、2016でした。(失;しました。)
Microsoft excel 2016(16.0.5005.1000)mso(16.0.4993.1002)64ビット
です。
2020年5月27日水曜日 3:08
システムロケールは何になっていますか?
http://www.soft-j.com/release/formtext.pdf
2020年5月27日水曜日 4:02
ありがとうございました。
面白いことがわかりました。
現在のシステムロケールは 日本語(日本) ですが、その下の ワールドワイド言語サポートでUnicode UTF-8を使用 にチェックを入れるとエクセルで化けません。
ただし、メールソフト(Becky)で文字化けがしますが。
2020年5月27日水曜日 4:18
Excel 2016 MSO (16.0.12730.20144) 32 ビット
バージョン 2004 (ビルド 12730.20270 クイック実行)
月次チャネル
更新して下記のバージョンにしてみましたが、当方ではやはり再現しませんでした。
Excel 2016 MSO (16.0.12730.20352) 32 ビット
バージョン 2004 (ビルド 12730.20342 クイック実行)
月次チャネル
こちらの OS は、Win10 バージョン 1909 (OS ビルド 18363.836) です。
システムロケールは日本語で、UTF-8 を使用のチェックは OFF の状態です。
OS バージョンにも左右されるのかな…。
2020年5月27日水曜日 7:00
ありがとうございました。
OSのバージョン及びUTF-8のチェックは同じです。
UTF-8にチェックすると文字化けせずに動く、というのは何なのでしょうか。
2019にバージョンアップせよ、ということなのでしょうか。
2020年5月27日水曜日 7:06
以前から発生していた事象でしょうか。
今月から最近急に発生したのであれば、直近の Office の更新に問題があったのかもしれません。(具体的に今回のケースの障害報告が挙がっているかどうかは調べていません)
もしかしたら、最近インストールされた KB を削除してみるか…あるいは Office をいったん削除し、再インストールすることで回復するかもしれません。
2020年5月27日水曜日 7:17
ありがとうございました。
再インストールまたはKBの削除をやってみたいと思います。
お世話になりました。とりあえず、クローズいたします。
2020年5月27日水曜日 9:13
「データ入力」と直接記入せず、クリップボードから貼り付けた場合にも、「メタ痘ヘ」に化けてしまうのでしょうか?
ネットで検索したら、Excel2013のレジストリエディタによる数値の変更の記事がありましたが、2016には同様の名前がありませんでした。
上記は、 KB416637 のことでしょうか。レジストリ項目が無かったとのことですが、該当エントリを追加したら改善されないでしょうか。
知恵袋にて、今回の事象と同種のトラブルが書き込まれており、その方は新規にレジストリ項目を追加することで解消されたそうです。2019年1月時点の Excel 2013 の書き込みですが、状況がほぼ同じなので無関係では無さそう。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11201813726
上記での化け方は
> 入力:「個人」 ⇒ 表示「倹l」
> 入力:「検査」 ⇒ 表示「訣ク」
とのことなので、「データ入力」⇒「メタ痘ヘ」の時と同パターンですね。
個人:8C-C2-90-6C
倹l:8C-90-6C
検査:8C-9F-8D-B8
訣ク:8C-8D-B8
2020年5月28日木曜日 2:27
>「データ入力」と直接記入せず、クリップボードから貼り付けた場合にも、「メタ痘ヘ」に化けてしまうのでしょうか?
やってみましたが、化けません!!
それと、 https://support.microsoft.com/ja-jp/help/416637 の中の その2 一文字づつ入れれば化けません。
レジストリですが、以下をOptionsの下に作る、ということですよね。
Excel 2013
キー名 : HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\Options
名前:QFE_17407
種類:DWORD
データ: 1
2020年5月28日木曜日 2:48
Excel 2013
キー名 : HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\Options
名前:QFE_17407
種類:DWORD
データ: 1
を追加したら、治りました。
長い間、ありがとうございました。
なければ追加できるんですね。
感謝します!!
2020年5月28日木曜日 3:04 | 1 票
Excel 2013
キー名 : HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\Options
名前:QFE_17407
種類:DWORD
データ: 1を追加したら、治りました。
Excel 2016 をお使いだったのですよね。15.0 の下で大丈夫でしたか?
16.0 → Excel 2016/2019
15.0 → Excel 2013
14.0 → Excel 2010
12.0 → Excel 2007
11.0 → Excel 2003
10.0 → Excel 2002
9.0 → Excel 2000
8.0 → Excel 97
7.0 → Excel 95
2020年5月28日木曜日 4:05
すみません。表記をそのままに書いてしまいました。
16.0の下に追加しました。
ありがとうございました。