現在VBからエクセルを出力するプログラムを作成しています。
よく聞かれる問題のようなのですが、
プリンタの切り替えを行うとエクセル給紙設定がデフォルト(自動)に戻ってしまう
問題に対応するため、
VBにてエクセルを起動する直前に、プリンタ給紙設定を特定する処理を追加しました。
例)エクセル給紙設定「自動」にしておいて、
VBでプリンタ給紙設定「手差し」に切り替える。
ところが今日テストしてみると
常にエクセル給紙設定が優先して出力されているようなのです。
しかし追加したプリンタ給紙設定処理は正常に動作しているようです。
エクセル単独で出力してみると
エクセル給紙設定「自動」、プリンタ給紙設定「手差し」→自動で印刷される
エクセル給紙設定「手差し」、プリンタ給紙設定「自動」→手差しで印刷される
となり、やはりエクセルの設定が優先されているようです。
プリンタの設定を常に優先してエクセルを出力する方法はないでしょうか。
またはエクセル給紙設定を自動で切り替える方法はないでしょうか。
ちなみにメモ帳でテストしてみたところ、
メモ帳給紙設定「自動」、プリンタ給紙設定「手差し」→手差しで印刷される
メモ帳給紙設定「手差し」、プリンタ給紙設定「自動」→手差しで印刷される
となり、常にソフトが優先されるわけではないようです。
どなたか知恵をいただけるとありがたいです。よろしくお願いします。
環境…というかプリンタドライバにも依存してるようなので
一般的な答えは難しいと思いますが…。
1:VBでプリンタ給紙設定「手差し」に切り替える。
2:新規Book を開く。
3:セルに適当なデータを入れる。
…この状態で印刷するとプリンタ給紙設定「手差し」で印刷されませんか?
印刷されるなら
3:セルに適当なデータを入れる。
を印刷対象のシートから Cells で全選択してコピー
する処理に変えれば、プリンタの給紙設定で印刷する
Book が作れるかもしれません。
ツイート | ![]() |