在VBA中,选择要发送到打印机的报告页面没有问题,但是无法使用以下方式发送到PDF文件:
DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, reportName2, True
我认为在预览报告后执行此操作的最佳方法可能是要求用户选择一个页面,然后重新显示仅显示该页面的预览,然后使用OutputTo
将其发送到PDF文件。
但是,我无法弄清楚如何在预览中显示特定页面。这是正确的方法吗?如果可能,任何想法,如果没有,任何建议?
答案 0 :(得分:0)
你可以使用可爱的pdf作家..
这是一台将输出转换为pdf下载的打印机 -
http://www.cutepdf.com/Products/CutePDF/writer.asp
以下是将特定页面发送到打印机的命令 -
Printing a specific page from an Access Report
如果我在哪里,我会在顶部菜单上添加一个激活此功能的按钮:
Public Function prtpdf() As Integer
On Error GoTo err
Dim repname As String, pagenum As String, strDeviceName As String
Dim prt As Printer
' Get current default printer
Set prt = Application.Printer
pagenum = InputBox("Please insert page number")
If Not IsNumeric(pagenum) Then Exit Function
' Set default printer
strDeviceName = "CutePDF Writer"
Set Application.Printer = Application.Printers(strDeviceName)
'repname = Screen.ActiveReport.Name
DoCmd.PrintOut PrintRange:=acPages, PageFrom:=pagenum, PageTo:=pagenum
' Restore original printer
err:
Set Application.Printer = prt
End Function