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で質問しましょう!
似たような質問が見つかりました
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- プリンタ・スキャナー エプソンのプリンタEP-879AWを使っていますが印刷文字がぼやけます。 家電量販店で写真印刷がメイ 4 2022/03/26 23:20
- 仕事術・業務効率化 文書作成の際の書体や書式について 1 2022/08/29 10:01
- プリンタ・スキャナー PowerPointとPDFで一部印刷されない文字がある 2 2022/06/04 11:53
- 年賀状作成・はがき作成 はがき作家 2 2023/05/12 06:00
- Excel(エクセル) エクセル2013「次のページ数に合わせて印刷」が小さすぎる 9 2023/03/28 10:18
- PDF 2つのPDFを重ねる方法はありますか? 4 2023/01/30 14:04
- プリンタ・スキャナー お世話になります。 MS明朝体でワード文書を作成しているのですが、印刷するとなぜか平成明朝体のフォン 3 2023/03/03 00:29
- 画像編集・動画編集・音楽編集 文字等を拡大して印刷するときに生じるかもしれない問題について 3 2023/01/05 04:07
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
outlook 文字を揃えたい。tab...
-
マイクロ(μ)の文字を半角で出...
-
教えてください。
-
Wordで、指定したフォント...
-
径の記号
-
C# Font GdiCharSet
-
MsgBoxについて
-
Excel:一部のフォントでセルの...
-
Adobe Fontsで日本語が出てこな...
-
ホームページをTeraPadで日本語...
-
txtって、 Wordのフォント,サ...
-
似ているフォント(Win⇔Mac)
-
tex の文字に関して
-
英語版OSでの遊明朝、游ゴシック
-
英語版ホームページのテキスト...
-
UNICODE
-
jpgraphの日本語フォントについて
-
HP作成時のフォントが他のPCで...
-
掲示板の絵文字がズレる…
-
WORD VBAでハイパーリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
outlook 文字を揃えたい。tab...
-
マイクロ(μ)の文字を半角で出...
-
教えてください。
-
縦書きテキストボックスの表示"...
-
「MS Pゴシック」と同じ幅の...
-
16x16のスプライトフォント
-
MsgBoxについて
-
似ているフォント(Win⇔Mac)
-
font-family の記載方法
-
ワードでゴシックの文字を太く...
-
Excel:一部のフォントでセルの...
-
英語版OSでの遊明朝、游ゴシック
-
メールで、榊の文字を木辺に神...
-
printf("文字列\\n")が円マーク...
-
エクセルVBAが中国のPCでは動か...
-
C# Font GdiCharSet
-
逆向き/(スラッシュ)の入力方法
-
Eclipseで文字がずれます。
-
フォントファイル(.ttf , .otf)...
-
外国語版メイリオはある?
おすすめ情報