Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11046 / 13646 ツリー ←次へ | 前へ→

【18461】VBAでプリンタの制御をするには? REON 04/9/26(日) 12:55 質問[未読]
【18464】Re:VBAでプリンタの制御をするには? ichinose 04/9/27(月) 9:56 発言[未読]
【18468】Re:VBAでプリンタの制御をするには? REON 04/9/27(月) 13:27 お礼[未読]

【18461】VBAでプリンタの制御をするには?
質問  REON  - 04/9/26(日) 12:55 -

引用なし
パスワード
   現在まだ、N88-BAICで作ったも使用しています。そろそろ置き換えたいと思います。
エクセルのマクロで、印刷ボタンを作り、ファイルを印刷する際に、プリンタの印刷モードを変更したいのですが、書式がわかりません。
使用プリンタは、エプソン:VP-4300、又は、NEC:PC-PR700ドットプリンタです。
プリンタポートは、LPT1です。
BASICでの制御コードは、ESC E (エリートモード設定)
   LPRINT CHR$(27);"E";
   又は
   LPRINT CHR$(&H1B);CHR$(&H45);

これをVBAに置き換えることは可能でしょうか?
よろしくお願いいたします。

【18464】Re:VBAでプリンタの制御をするには?
発言  ichinose  - 04/9/27(月) 9:56 -

引用なし
パスワード
   ▼REON さん:
おはようございます。

>現在まだ、N88-BAICで作ったも使用しています。そろそろ置き換えたいと思います。
>エクセルのマクロで、印刷ボタンを作り、ファイルを印刷する際に、プリンタの印刷モードを変更したいのですが、書式がわかりません。
>使用プリンタは、エプソン:VP-4300、又は、NEC:PC-PR700ドットプリンタです。
>プリンタポートは、LPT1です。
>BASICでの制御コードは、ESC E (エリートモード設定)
>   LPRINT CHR$(27);"E";
>   又は
>   LPRINT CHR$(&H1B);CHR$(&H45);
>
>これをVBAに置き換えることは可能でしょうか?
確認していませんが、API(Createfile、Writefile等)を使用すれば、可能かも
しれませんが・・・。

http://webclub.kcom.ne.jp/mc/kitkoubo/tuusin11.html

↑ここにそれらしいサイトがありました(私が確認していませんが、ちょっと
検討してみて下さい。)。


でもね・・・・。
私も旧Basicのコードは結構持っているんですが、
印刷関連をこのような方法で書き換えてはいません。

>LPRINT CHR$(27);"E";

って、文字の拡大・縮小でしたっけ?
Excelのシート等にデータを設定して書式でセルのフォントサイズの変更
を行った後、印刷という手順で処理する方法では問題がありますか?
以下のコードは一例ですが、

'============================================
Sub test()
  Range("a1").Value = "aaaaaa"
  With Range("a1").Font
    .Name = "MS Pゴシック"
    .Size = 22
  End With
  ActiveSheet.PrintOut
End Sub

場合によっては、大きいコード変更になってしまうかもしれませんが・・・。

【18468】Re:VBAでプリンタの制御をするには?
お礼  REON  - 04/9/27(月) 13:27 -

引用なし
パスワード
   ▼ichinose さん:
こんにちは。

>確認していませんが、API(Createfile、Writefile等)を使用すれば、可能かも
>しれませんが・・・。
>
>http://webclub.kcom.ne.jp/mc/kitkoubo/tuusin11.html
>
>↑ここにそれらしいサイトがありました(私が確認していませんが、ちょっと
>検討してみて下さい。)。
>
>
>でもね・・・・。
>私も旧Basicのコードは結構持っているんですが、
>印刷関連をこのような方法で書き換えてはいません。
>
>>LPRINT CHR$(27);"E";
>
これは、プリンタ本体の印刷モード変更用のシーケンスコードです。
プリンタの内部SWを操作するものです。
上記サイト参考にしてみます。紹介ありがとうございました。
また、エクセルで書式変更して、出力
オリジナル用紙なのでちょっと大変かも?でも、試してみます。

ありがとうございました。

11046 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free