プロが教える店舗&オフィスのセキュリティ対策術

VBSでExcelファイルを印刷する際、場合によってはプリンタを変えて印刷したいのですが、プリンタの指定をどのようにコーディングすれば良いのか分かりません。

印刷時のソースは下記のとおりです。

Set Excel = CreateObject("Excel.Application")
Set objWkBk = Excel.Workbooks.Open("C:\Test.xls", , False)

Excel.ActiveWindow.SelectedSheets.PrintOut()

Excel.DisplayAlerts = False
Excel.quit()
objWkBk.close
Set objWkBk = Nothing
Set Excel = Nothing


上記コーディングに下記(1)~(4)を追加または、修正して試してみましたが、エラーとなってしまいます。

(1)Application.ActivePrinter = "\\NAS0013W\Kyocera LS-6700SKX2"
(2)Excel.ActivePrinter = "\\NAS0013W\Kyocera LS-6700SKX2"
(3)Excel.ActiveWindow.SelectedSheets.PrintOut("\\NAS0013W\Kyocera LS-6700SKX2")
(4)Excel.ActiveWindow.SelectedSheets.PrintOut(ActivePrinter = "\\NAS0013W\Kyocera LS-6700SKX2")

そもそも、vbsからはプリンタの指定はできないのでしょうか?

ご教授いただきたく、よろしくお願いいたします。

A 回答 (1件)

プリンターを切り替えるには手作業でプリンターを変更します。


その後イミディエイトウィンドウで
?application.activeprinter + Enter
で PDFCreator on Ne00: みたいのが返ってきますので
これを指定します。
excel.activeprinter = "PDFCreator on Ne00:" のように。

または変更は印刷時に行うようにして
excel.ActiveWindow.SelectedSheets.PrintOut activeprinter:="PDFCreator"
とすると ポート指定部分は無くても機能するようですね。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
参考にさせていただきました。

最終的には、vbs から excelのマクロを呼び出し、
プリンタを指定して印刷することができました。

お礼日時:2014/06/10 16:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています