【问题标题】:Exporting Multiple MS Access Forms to A Single PDF File将多个 MS Access 表单导出到单个 PDF 文件
【发布时间】:2016-03-31 16:55:17
【问题描述】:

我正在尝试在 Access 中使用以下代码将多个表单输出到 pdf 文件:

Public Function Print_Form()
Dim myPath, reportName As String


        For Each r In gvParent_Vals 
            glParent_id = r 
            If giMsgBox = 1 Then

//this method opens the form and makes it the active object
                Select_Form 

//set file path and pdf file to send form to
                myPath = "C:\Users\C062342\Desktop\"
                reportName = "test.pdf"

//output page 1 of the form              
                DoCmd.OutputTo acOutputForm, "Frm_Main_Report", acFormatPDF, myPath & reportName, False

// set global variable to page 2 source form and specify target to replace (subform of page 1 form)

                gsActiveForm = "Frm_Main_Report_Pg2"  
                 Set goCurrForm = Forms![Frm_Main_Report].Form.[Frm_Main_Report_Pg1]

//method to set the page 2 form by setting the target equal to the new source object

                 Activate_Form

//send page 2 to the same pdf file

                DoCmd.OutputTo acOutputForm, "Frm_Main_Report", acFormatPDF, myPath & reportName, False

//method to Close the form
                Close_Form

            End If
        Next r

 End Function

当我在循环中执行此操作时,我只会得到最后一个打开的表单,就好像当 Access 将每个表单发送到 PDF 文件时,它每次都会覆盖最后一个表单。另一个问题是我需要横向输出表单,但我不确定如何在 PDF 文件中发生这种情况。是否有任何与此方法或代码相关的设置可以在它之前或之后允许我完成此操作?

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    你正在尝试的东西是不可能的。 Access 不能附加到现有的 PDF。

    DoCmd.OutputTo 与现有 PDF 文件将覆盖该文件。

    最好的做法是创建一个包含您要导出的所有数据的报告。

    或者:使用具有多文档功能的外部 PDF 打印机驱动程序,即您从 Access 创建多个打印作业,驱动程序将它们组合成一个 PDF 文件。
    示例:http://freepdfxp.de/index_en.html

    但这将是手动操作,除非您找到可以完全自动化的驱动程序。

    【讨论】:

    • 谢谢安德烈。是否可以附加到 Word 文档或其他类型的富文本文件中,然后我可以一次性手动将其转换为 PDF?
    • 我也应该说我同意你的举报路线;但是,当表单运行时,我正在使用 VBA 渲染表单中的一些数据,所以我在以这种方式在报告中设置控制值时遇到了问题,而表单在这样做时没有给我任何问题。
    • @Scott: 1. No. 2. 在reports中,需要将vba代码放在On Format事件的section(通常是Detail section)中。
    • 啊,当然……现在说得通了。太棒了..谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多