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も見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
【お題】引っかけ問題(締め切り10月27日(日)23時)
【大喜利】 「日本で一番高い山は富士山……ですが!」から始まった、それは当てられるわけ無いだろ!と思ったクイズの問題
-
ちょっと先の未来クイズ第4問
11月ごろに発表される、2024年の「新語・流行語大賞」にノミネートされる言葉を書けるだけ書いてください。
-
ギリギリ行けるお一人様のライン
おひとり様需要が増えているというニュースも耳にしますが、 あなたが「ギリギリ一人でも行ける!」という場所や行為を教えてください
-
バーコード印刷
Visual Basic(VBA)
-
バーコードコントロールが印刷時に反映されない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マイクロ(μ)の文字を半角で出...
-
outlook 文字を揃えたい。tab...
-
教えてください。
-
似ているフォント(Win⇔Mac)
-
このフォントは何でしょうか?
-
「MS Pゴシック」と同じ幅の...
-
C# Font GdiCharSet
-
MsgBoxについて
-
フォントについて質問です。
-
Excel:一部のフォントでセルの...
-
ホームページをTeraPadで日本語...
-
font-family の記載方法
-
printf("文字列\\n")が円マーク...
-
インストールされていないフォ...
-
gvimでフォント、色テーマ設定...
-
CommonDialogでの、キャンセル...
-
クリスタルレポートでPDFの端が...
-
英語版OSでの遊明朝、游ゴシック
-
エクセルの代替フォントを指定...
-
テーブル内の文字サイズを変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マイクロ(μ)の文字を半角で出...
-
outlook 文字を揃えたい。tab...
-
教えてください。
-
「MS Pゴシック」と同じ幅の...
-
似ているフォント(Win⇔Mac)
-
MsgBoxについて
-
C# Font GdiCharSet
-
英語版OSでの遊明朝、游ゴシック
-
メールで、榊の文字を木辺に神...
-
font-family の記載方法
-
逆向き/(スラッシュ)の入力方法
-
WORD全角入力しても半角に...
-
Excel:一部のフォントでセルの...
-
ワードでゴシックの文字を太く...
-
WORD VBAでハイパーリ...
-
エクセルVBAが中国のPCでは動か...
-
printf("文字列\\n")が円マーク...
-
Visual C++ 6.0 行番号の表示
-
ホームページをTeraPadで日本語...
-
フォントファイル(.ttf , .otf)...
おすすめ情報