Access 2013选择页面输出为PDF

时间:2016-03-21 15:13:38

标签: vba ms-access pdf access-vba

在VBA中,选择要发送到打印机的报告页面没有问题,但是无法使用以下方式发送到PDF文件:

DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, reportName2, True

我认为在预览报告后执行此操作的最佳方法可能是要求用户选择一个页面,然后重新显示仅显示该页面的预览,然后使用OutputTo将其发送到PDF文件。

但是,我无法弄清楚如何在预览中显示特定页面。这是正确的方法吗?如果可能,任何想法,如果没有,任何建议?

1 个答案:

答案 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