首页 > 解决方案 > 使用 Access 和 VBA 的 PDF 对象名的合并字段

问题描述

我试图让我的 PDF 的名称是报告本身中的文本。

例如:

生成的 PDF 报告中包含“项目:项目 X,日期:2019 年 6 月”文本。我希望将 PDF 保存为“Project X June 2019”。我不想右键单击另存为然后输入,因为这很容易出现用户错误。

我在下面附加了一些代码 - 目前它将所有 PDF 保存为“Report.PDF”。我真的不知道该怎么做。任何帮助将非常感激。

DoCmd.OpenReport "qryRptInvoice", acViewPreview, , "[InvoiceID] = " & Me.InvoiceID

DoCmd.OutputTo acOutputReport, "qryRptInvoice", acFormatPDF, "Report.PDF", True

标签: vbams-access

解决方案


通过将静态文本与可变输入连接来实现这一点。

可以在表单上引用具有用户输入/选择的值的控件。如果您想要项目名称以及月/年:

DoCmd.OutputTo acOutputReport, "qryRptInvoice", acFormatPDF, Me.tbxProject & Format(Me.tbxDate, " MMMM YYYY") & ".PDF", True

如果您想要 3 个字母的月份名称,请使用" MMM YYYY".

可以使用当前日期作为输入,但如果 6 月报告在 7 月 1 日运行,则文件名将是错​​误的。


推荐阅读