微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

访问表格:如何获取访问表格的PDF

如何解决访问表格:如何获取访问表格的PDF

| 我在Access 2010中创建的表单中有一个PDF图标。该表单中有3个选项卡。每个选项卡都有一个单独的表单页面,并且所有选项卡都使用PDF图标。 现在,我希望每当用户单击该图标时,便会创建该表单的PDF文件。 我已经写了这段代码
Private Sub cmdPrintReportPDF_Click()

    Dim strDefaultPrinter As String
    strDefaultPrinter = Application.Printer.DeviceName

    **Set Application.Printer = Application.Printers(\"PDFCreator\")**
    \'DoCmd.PrintOut acPrintAll

    DoCmd.OpenReport \"Graph_report\",acViewnormal

    Set Application.Printer = Application.Printers(strDefaultPrinter)
End Sub
但是我收到以下错误
Invalid procedure call or argument on line no 4.
Set Application.Printer = Application.Printers(\"PDFCreator\")
    

解决方法

我已经安装了PDFCreator,并且该行为您触发了错误,但对我却没有触发错误。
Set Application.Printer = Application.Printers(\"PDFCreator\")
转到“ VB编辑器”的“立即窗口”,看看是否还出现以下错误:
? Application.Printers(\"PDFCreator\").DeviceName
如果那还会触发错误,则可能您没有DeviceName为PDFCreator的打印机。您可以按照以下步骤列出打印机的名称。
Public Sub ListPrinters()
    Dim objPrinter As Printer

    For Each objPrinter In Application.Printers
        Debug.Print objPrinter.DeviceName
    Next objPrinter
End Sub
但是,我认为使用Access 2010可以创建PDF,而无需使用PDFCreator打印设备。至少这对Access 2007而言对我有效,因此我猜测它将对您有效。
Private Sub cmdSaveAsPdf3_Click()
    Dim strPath AS String
    strPath = CurrentProject.Path & Chr(92) & \"Sample3.pdf\"
    DoCmd.OutputTo acOutputForm,\"fsubSample3\",acFormatPDF,strPath
End Sub
该按钮单击代码将创建一个窗体(fsubSample3)的PDF(Sample3.pdf),该PDF嵌入在我的主窗体的选项卡控件的页面中...这是我根据问题的原始版本想要的。现在看来,您想要创建报告的PDF,而不是表单。您可以调整DoCmd.OutputTo行以使用报表而不是表单。     ,更改此:
  Set Application.Printer = Application.Printers(\"PDFCreator\")
...对此:
  Application.Printer = Application.Printers(\"PDFCreator\")
“ 8”是属性,而不是对象,因此它不使用SET对其进行更改。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。