
VB6.0を使用しているのですが、バーコードを印刷した後にフォントを明朝体などにもどすと文字化けをしてしまいます。
例えば次のようにした場合、「あいうえお」から後に印刷するものはすべて文字化けしてしまいます。(半角の英数文字は文字化けしません。)
Printer.Font = "CN-CODE39"
Printer.Print "*123456*"
Printer.Font = "MS 明朝"
printer.print "あいうえお"
以前、同じ質問をした人がいるので、そちらを参考にしましたが、解決できませんでした。
大変申し訳ございませんが、解決策を教えてください。
参考
http://oshiete1.goo.ne.jp/kotaeru.php3?q=603011
No.2ベストアンサー
- 回答日時:
#1です。
補足どうもありがとうございます。OSの違いに問題があるみたいですね。
#1のテストも95と98でしています。
2000もXPも持っていないので検証のしようが無いですが
Printer.Font.Name = "MS 明朝"
Printer.Font.Charset = 128
printer.print "あいうえお"
としたらどうなりますか?
後、このプログラムは VB上で試してますか?それともEXEでしょうか?
こちらでテストできないので、確実な事が回答できず大変申し訳ありません。
この回答への補足
ありがとうございました。
意味もわからずにtaisuke555さんのご指摘の通り入力して、とりあえずWPとLBP740の組み合わせで試したところ、うまく印刷できました。紙が出てきた瞬間驚きと感激でいっぱいでした。
本当に感謝しております。
ところでPrinter.Font.Charset = 128はどういう意味なんですか?また、数値は128以外にもいろいろあるんですか?
補足で質問してしまい申し訳ございません。
再度ありがとうございます。
VB上とEXEのどちらも同じ現象なんです。
今日は会社を出てしまいましたので、明日試させていただきます。
お付き合いいただきましてありがとうございます。
No.6
- 回答日時:
todo36さん 私の疑問に答えて頂いたんでしょうか?
ありがとうございます。
>Printer.Font.Charset = 128 '日本語のcharsetに変更
の部分は、95/98の場合、自動で切り替わって
2000/XPでは自動で切り替わらない(バグ?)という事でいいんでしょうか?
(私の解説があっているか今一つ自信が無いので)
>前者は標準プロパティ(Name)への代入(Let)です。
でしたね。(よけいな事書いちゃいました。)
momochuさんへ
>プログラムをもう一度立ち上げなおさないと、最初から文字化けをしてしまいます。
Printer.Font.Charset = 128
を書くとなると言う事ですか?
>何か試したいことがあったら言ってください。
私の方では、印刷出来るので試したいことと言われても(笑)
最初に回答してしまったので、何とか力になりたいと回答してきましたが、
todo36さんが回答して下さったので、私の方はこれで失礼します。
頑張ってください。
No.5
- 回答日時:
>どうして?
Printer.Font = "CN-CODE39" '日本語非対応なので英語のcharsetが設定される
Printer.Print "*123456*"
Printer.Font = "MS 明朝" '英語対応なのでcharsetはそのまま英悟
printer.print "あいうえお" '文字化け
Printer.Font.Charset = 128 '日本語のcharsetに変更
printer.print "あいうえお" '正常
>Printer.Font = "MS 明朝"でなく、
>Printer.Font.Name = "MS 明朝"
同じです。
前者は標準プロパティ(Name)への代入(Let)です。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=307309
No.4
- 回答日時:
たびたび、すいません。
ちょっと試していただきたいのですが、
Printer.Font.Name = "MS 明朝"
printer.print "あいうえお"
では、どうなりますか?
Printer.Font = "MS 明朝"でなく、
Printer.Font.Name = "MS 明朝"
です。
Printer.Font.Name="MS 明朝"とPrinter.Font="MS 明朝"では、まったく同じ結果でした。Printer.Font.Charset = 128があるか無いかで結果が変わりました。また、文字化けをしていてもPrinter.Font = "CN-CODE39"を入れた後の部分はちゃんとバーコードが印刷されます。
また、プログラムをもう一度立ち上げなおさないと、最初から文字化けをしてしまいます。VB上でプログラムを実行した場合はVB自体を終わらせて再び立ち上げないと文字化けをしたままです。
また、何か試したいことがあったら言ってください。お礼にいろいろ試させていただきます。
もう少し締め切らずにおいておきます。
No.3
- 回答日時:
印刷出来たようでなによりです。
>Printer.Font.Charset = 128はどういう意味なんですか?
[ヘルプより抜粋]
フォントで使用する文字セットの値を設定します。値の取得もできます。
0 : Windows 標準文字セット
2 : 特殊文字セット
128: 日本語版 Windows 専用の 2 バイト文字セット(DBCS)
255: DOS アプリケーションで表示する拡張文字セット
普通は、FONT.NAMEで日本語を選択すると、128に自動でなるみたいです。
(意識して書いたことはありません。)
XP/2000で文字化けする時に明示的に128を書くように
どこかのホームページで見たことがあったので、
試しに回答してみました。
(どうして?なのかは、私には分かりません。)
何にしても、これ以外の回答は、ちょっと無理そうだったので
うまく印刷できて良かったです。
No.1
- 回答日時:
このような質問の場合、
OSのバージョンやプリンタの機種名を記載しないと
何が原因かわからないと思います。
Printer.Font = "MS 明朝"
のフォント名が違っているという事はありませんか?
文字列指定なので、
スペースの半角・全角が違っているだけでも設定されません。
(私の方で確認した所、エラーにはならずに文字化けしました。)
それ以外の場合は、ちょっと再現できませんでしたので
他の方の回答を待ってください。
(一応、4台のプリンタで試してみました。)
どうもありがとうございます。
ご指摘の件ですが、
OSはWINDOWS2000とWINDOWS XPです。
また、プリンターはキャノンのレーザーショット LBP-740と同じくLBP-730、エプソンのカラリオ PM-A850です。
上記のOSとプリンタはどの組み合わせにしても同じ結果になってしまいます。
WINDOWS98では同じプログラムで問題なく印刷されます。もちろん、どのプリンタを使っても大丈夫です。
フォント名はスペース部分は半角でアルファベット、漢字とも全角です。
バーコードを印刷する前の部分は「MS 明朝」で間違いなく印刷されています。バーコードもちゃんと印刷されています。
また、何かお気づきの点がありましたら、教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
outlook 文字を揃えたい。tab...
-
マイクロ(μ)の文字を半角で出...
-
教えてください。
-
似ているフォント(Win⇔Mac)
-
英語版OSでの遊明朝、游ゴシック
-
gvimでフォント、色テーマ設定...
-
「MS Pゴシック」と同じ幅の...
-
ワードでゴシックの文字を太く...
-
CommonDialogでの、キャンセル...
-
C# Font GdiCharSet
-
エクセルの代替フォントを指定...
-
VBA(MS WORD)Unicode対応
-
font-family の記載方法
-
PreRenderイベントの実装方法に...
-
Eclipseで文字がずれます。
-
Outlookのメールを送信するマクロ
-
CSSが全く分かりません、お助け...
-
ペイント3Dのテキストサイズ変更
-
テキストエディタmiの表示文字...
-
cssファイルの名称付け
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
outlook 文字を揃えたい。tab...
-
マイクロ(μ)の文字を半角で出...
-
教えてください。
-
似ているフォント(Win⇔Mac)
-
「MS Pゴシック」と同じ幅の...
-
MsgBoxについて
-
ワードでゴシックの文字を太く...
-
C# Font GdiCharSet
-
gvimでフォント、色テーマ設定...
-
Excel:一部のフォントでセルの...
-
英語版OSでの遊明朝、游ゴシック
-
font-family の記載方法
-
このフォントはなんというフォ...
-
CommonDialogでの、キャンセル...
-
逆向き/(スラッシュ)の入力方法
-
エクセルVBAが中国のPCでは動か...
-
xfontselについて
-
メールで、榊の文字を木辺に神...
-
「Noto Sans CJK」「Noto Serif...
-
VB.NETでフォントのカラーを変...
おすすめ情報