1

У меня есть несколько программ Access, они довольно сложные, в них много VBA и десятки отчетов, связанных таблиц и т.д. Когда я печатаю эти отчеты, они не соответствуют моим настройкам принтера по умолчанию (а именно, параметр дуплекс). Как я могу это исправить?

2 ответа2

1

вам нужно установить .UseDefaultPrinter отчета имеет значение True .

Отсюда этот код будет сбрасывать принтер всех отчетов по умолчанию:

For Each obj In CurrentProject.AllReports
    DoCmd.OpenReport ReportName:=obj.Name, View:=acViewDesign
    If Not Reports(obj.Name).UseDefaultPrinter Then
        Reports(obj.Name).UseDefaultPrinter = True
        DoCmd.Save ObjectType:=acReport, ObjectName:=obj.Name
    End If
    DoCmd.Close
Next obj
0

У меня недавно была именно эта проблема, и я исправил ее, установив отчет .Printer для принтера по умолчанию (или желаемого принтера) перед печатью, как показано ниже.

'need report open in order to set .Printer property
'  so open report in PREVIEW mode but HIDDEN
DoCmd.OpenReport "<ReportName>", acViewPreview, , , acHidden
'Assign report's .Printer property to default printer
Reports("<ReportName>").Printer = Application.Printers(Printer.DeviceName)
'Print report
DoCmd.OpenReport "<ReportName>", acViewNormal

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .