- PR -

Excelで印刷するときのプリンタの指定

1
投稿者投稿内容
猫型
会議室デビュー日: 2004/08/10
投稿数: 2
投稿日時: 2004-08-10 22:45
はじめまして。
VB.NET側でExcelのフォーマットを作り、
Excel.WorksheetのPrintOutメソッドで印刷しているのですが
当然印刷は既定のプリンタからになります。

これをコード内でプリンタを指定して
(複数のプリンタを使い分けて)印刷したいのですが
何か方法はあるでしょうか?
WorkbookやWorksheetのプロパティに何かそれっぽいのが無いか
探してみましたが、見つけきれませんでした。。
どなたかご存知の方ご教授願います。
TomoPika
会議室デビュー日: 2004/08/31
投稿数: 10
投稿日時: 2004-08-31 12:54
数年前のことなので記憶が曖昧ですが、猫型さんと同じくExcel(当時はExcel2000)から特定のプリンタへの出力で悩んだことがありました。
Excelで出力する際は通常使用するプリンタしか出力できません。
そこで、WindowsAPIを利用し、通常使用するプリンタ自体を変更し、その後出力させるという方法で回避した記憶があります。
具体的な方法は資料がないのですが、APIを利用したプリンタ設定の変更方法であればどこかで紹介しているのではないでしょうか?
ちょっと無責任ですがご参考まで。
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2004-08-31 14:46
Application.ActivePrinter で設定すればいいのでは?
すくなくとも、Excel VBA上ではこれで動くはずですよ。
(.net上でまでは確認してませんが・・・)
猫型
会議室デビュー日: 2004/08/10
投稿数: 2
投稿日時: 2004-09-03 10:24
返答どうもありがとうございました。
あれから諦めて、もう既定のプリンタで印刷しようと思っていたところでした。
ActivePrinterですが、ActivePrinter = "プリンタ名"で設定しようとすると
(記述がおかしい?)「HRESULT からの例外」で上手く行かなかったのですが
もう一度VBAについて調べたところ、PrintOut()で設定出来る引数を持っており、
無事印刷することが出来ました。
凄く初歩的なことだったので改めて自分の知識の乏しさを感じてしまいました。。

何はともあれ、Clusterさん、TomoPikaさん、どうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)