Изменение системного принтера по умолчанию для одной конкретной программы, как правило, ужасно для пользователя.Избегайте изменения Application.Printer
!Вместо этого укажите, какой принтер использовать для отчета вместо печати по умолчанию.
Я использую что-то вроде следующего кода для печати отчетов на определенном принтере:
Dim rptName As String
rptName = "WT Outgoing Report"
DoCmd.OpenReport rptName, acViewPreview
Set Reports(rptName).Printer = Application.Printers(5) 'Or some printer returned by your search code
DoCmd.SelectObject acReport, rptName
DoCmd.PrintOut
DoCmd.Close acReport, rptName
Вы также можете жестко-кодируйте, на какой принтер печатать, открыв отчет в режиме конструктора, перейдя к настройке страницы, затем к странице, затем измените принтер в разделе Принтер для MyReportName .
В моем реальном приложении яТакже включен код для изменения таких параметров, как параметры страницы и параметры корзины.