访问VBA - 将访问表单导出为PDF然后关闭Adobe Reader

Grr*_*rly 2 pdf vba adobe-reader auto-close ms-access-2013

我在Access中有一个VBA代码,它将3个单独的访问表单导出/保存为PDF以供记录.但是,完成后,Adobe Reader将打开已保存的表单,要求处理器手动关闭所有3个表单.3种形式听起来不是很多,但它们将持续为所有239个实体完成这个过程!这意味着他们必须每天手动点击关闭超过700次!效率如此之高.

是否有VBA代码在Adobe Reader中关闭PDF?

以下是我目前使用的代码:

Private Sub Command4_Click()
DoCmd.SetWarnings False

DoCmd.OpenQuery "Add to Completed", acViewNormal
DoCmd.OpenQuery "Clear from Master", acViewNormal
DoCmd.OpenQuery "Completed Totals", acViewNormal
DoCmd.OpenQuery "Update AB Totals", acViewNormal
DoCmd.OpenQuery "Update CD Totals", acViewNormal
DoCmd.OpenQuery "Update EF Totals", acViewNormal
DoCmd.OpenQuery "Update YTD Total", acViewNormal

DoCmd.OpenForm "Form123-pg1", acPreview
DoCmd.PrintOut acPrintAll
**DoCmd.OutputTo acOutputForm, "Form123-pg1", acFormatPDF, "Z:\Corporate\SubProcess\2014\" & Format(Date - 30, "mmyy") & " - " & [Forms]![Deal_Nav]![cbo_UnitNo] & " ReportName Pg1.pdf", True**
DoCmd.Close acForm, "Form123-pg1", acSaveNo
DoCmd.OpenForm "Form123-pg2", acPreview
DoCmd.PrintOut acPrintAll
**DoCmd.OutputTo acOutputForm, "Form123-pg2", acFormatPDF, "Z:\Corporate\SubProcess\2014\" & Format(Date - 30, "mmyy") & " - " & [Forms]![Deal_Nav]![cbo_UnitNo] & " ReportName Pg2.pdf", True**
DoCmd.Close acForm, "Form123-pg2", acSaveNo
DoCmd.OpenForm "Form123-pg3", acPreview
DoCmd.PrintOut acPrintAll
**DoCmd.OutputTo acOutputForm, "Form123-pg3", acFormatPDF, "Z:\Corporate\SubProcess\2014\" & Format(Date - 30, "mmyy") & " - " & [Forms]![Deal_Nav]![cbo_UnitNo] & " ReportName Pg3.pdf", True**
DoCmd.Close acForm, "Form123-pg3", acSaveNo

Me.Requery
Me.Refresh
DoCmd.SetWarnings True
Run Code Online (Sandbox Code Playgroud)

结束子

小智 5

创建PDF后,Acrobat会打开,因为您告诉它.

DoCmd.OutputTo acOutputForm, "Form123-pg1", acFormatPDF, "Z:\Corporate\SubProcess\2014\" & Format(Date - 30, "mmyy") & " - " & [Forms]![Deal_Nav]![cbo_UnitNo] & " ReportName Pg1.pdf", True
Run Code Online (Sandbox Code Playgroud)

如果将AutoStart标志从True更改为False,则它不会,您不必关闭任何内容.

DoCmd.OutputTo acOutputForm, "Form123-pg1", acFormatPDF, "Z:\Corporate\SubProcess\2014\" & Format(Date - 30, "mmyy") & " - " & [Forms]![Deal_Nav]![cbo_UnitNo] & " ReportName Pg1.pdf", False
Run Code Online (Sandbox Code Playgroud)

现在Docmd.OutputTo 只需创建文件.