我的客户问我输出MS-Access报表为PDF / A(PDF ISO 19005的存档版本)。我发现一个旧线从2008年,说这是可以做到这一点的Word,Excel,PPT,出版商时,Visio和InfoPath,但无法访问。我希望有人将有一个新的更新,这是现在可能。
目前,我的代码是
'output report to pdf
DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, strPDF, False, , , acExportQualityPrint
它完美地工作创造正常的PDF文件。
这是一个长镜头,这不是优雅,但也许能为你工作:
导出报表作为常规的PDF文件,然后通过文字自动化,打开该文件,并将其导出为PDF / A。
不知怎的,格式是在这个过程中那种搞砸了,所以它保持在最低限度的访问报告。
Sub ExportPDF_A()
' Set references in VBA IDE to MS Word before executing this code
' Declare object variables
Dim wordApp As New Word.Application
Dim wordDoc As Word.Document
' Declare other variables
Dim strReportName As String
Dim strPDF As String
' Customize variables
strReportName = "TableReport"
strPDF = "E:\Temp\pdfreport.pdf"
'output report to pdf
DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, strPDF, False, , , acExportQualityPrint
' Temporary set word visible (because there are some confirmation in the next step)
wordApp.Visible = True
' Here are some additional confirmations that you'd have to figure out how to overcome them
Set wordDoc = wordApp.Documents.Open(FileName:=strPDF, Format:="PDF Files", ConfirmConversions:=False)
' Export to the desired format
wordDoc.ExportAsFixedFormat OutputFileName:="E:\Temp\pdfreportPDFA.pdf", ExportFormat:=WdExportFormat.wdExportFormatPDF, OpenAfterExport:=True, UseISO19005_1:=True
End Sub
我没有花很多时间对其进行编码,所以如果这个作品,让我知道,我可以把它擦亮。