Вы ничего не сказали о том, как вы автоматизируете Word.
В Word VBA вы можете использовать этот образец для немедленной распечатки активного документа без отображения диалогового окна печати:
Public Sub PrintToXPS()
'Presume that Microsoft XPS Document Writer was already
'set up as ActivePrinter
Dim strFilePath As String
strFilePath = "C:\temp\helloworld.xps"
ActiveDocument.PrintOut Background:=False, outputfilename:=strFilePath
End Sub
Вместо этого нет необходимости использовать диалог печати. Однако, если вы хотите работать с объектом диалога, это можно сделать в Word, используя переменную типа Word.Dialog и предоставляя необходимые параметры, например,
Dim dlgFilePrint As Word.Dialog
Set dlgFilePrint = Application.Dialogs(wdDialogFilePrint)
dlgFilePrint.Update
dlgFilePrint.PrToFileName = strFilePath
dlgFilePrint.printtofile = True
'add other parameters as needed ...
'lock up parameter names in Word VBA Online Help using "WdWordDialog-Enumeration"
'as key word
dlgFilePrint.Execute
То, что я сделал здесь с принтером XPS, вы, конечно, можете сделать и с любым другим принтером.