Word VBAにwaitに準ずる機能を使いたい
はじめまして。
複数の部署へ配布する用に大量の印刷を行っています。
以下のことをやりたいのですが、application.WaitがWordでは使えず困っています。
やりたいこと:
作成したWord文書を、コピー機(1)・コピー機(2)から交互に出力したい。
(1)と(2)の出力の間に、30秒ごとの時間を置いて出力されるようにしたい。
書いたVBA:
===================
Sub テクニカルインフォメーション()
'回覧紙配布のため、1号機と2号機で出力をします。
'
'
Dim waitTime As Variant
ActivePrinter = "TF1号機_1" '代営TI 60部
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=60, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
waitTime = Now + TimeValue("0:00:30")
Application.Wait waitTime
ActivePrinter = "8FMFP_2" '法規 19部
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=19, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
waitTime = Now + TimeValue("0:00:30")
Application.Wait waitTime
ActivePrinter = "TF1号機_1" '代営FF 43部
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=43, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
waitTime = Now + TimeValue("0:00:30")
Application.Wait waitTime
ActivePrinter = "8FMFP" '高機能SC 40部
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=40, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
End Sub
===================
前任者が残したExcelのVBAを参考にしたのですが、
動かずに大変困っています。
ご教授頂けないでしょうか。
いままでVBAはほとんど触ったことがなく、マクロの記録で乗り越えてきたので
基礎構文もよく理解をしていません。
不勉強で大変申し訳ないのですが、どうかよろしくお願い致します。
お礼
早速の回答有難うございます。 変数を宣言し、そこにプリンタ名を代入するという手があるのですね。 参考になります。