访问VBA将对象Report.pdf保存到具有唯一名称的特定路径

时间:2017-08-04 19:28:46

标签: ms-access-2007

我对VBA很熟悉,但我不是程序员,因此我非常感谢能帮助我解决这个问题。我有一个报告对象,邮寄为.pdf文件。这部分代码工作正常,但我希望能够将此文件的副本保存到具有唯一名称的特定位置,该名称包括创建文件的日期和时间。第一组代码是SendObject,它工作的第二组代码不起作用,它是我一直在测试保存对象的单独程序。一旦我能够使它工作,我将首先将它集成到一起。我将不胜感激任何帮助。

Private Sub Command21_Click()

DoCmd.SetWarnings (False)
Dim mailto As String
Dim ccto As String
Dim bccto As String
    mailto = "Safety-RiskGroup@bargeacbl.com"
    ccto = ""
    bccto = ""
emailmsg = "The attached document is the updated Case Log." & vbNewLine     
& "Please review the report, contact me and you find any discrepancies. "&vbNewLine & vbNewLine & "Thank You, " & vbNewLine & vbNewLine & vbNewLine & "Cary S. WInchester" & vbNewLine & "American Commercial Barge Line" & vbNewLine & "Safety Department"

mailsub = "Updated Case Log Report"

On Error Resume Next

DoCmd.SendObject acSendReport, "rpt_CaseLog-CurrentYear", acFormatPDF, mailto, ccto, bccto, mailsub, emailmsg, True
DoCmd.SetWarnings (True)

End Sub

这是尝试将对象保存到具有唯一名称的特定路径的第二组代码。

Private Sub Command23_Click()

On Error GoTo Command23_Click_Err
  Dim filePath As String
  filePath = "C:\Work\ACBL\Access Dbase\DayCount" & "CaseLog" _
        & Format(Date, " yyyy/mm/dd") _
        & Format(Time, " hh:MM:ss") & ".pdf"
  DoCmd.OutputTo acOutputReport, "rpt_CaseLog-CurrentYear", _
        "PDFFormat(*.pdf)", filePath, _
        False, "", , acExportQualityPrint
Command23_Click_Exit:
  Exit Sub
Command23_Click_Err:
  MsgBox Error$
  Resume Command23_Click_Exit

End Sub

1 个答案:

答案 0 :(得分:1)

感谢Bit Accesser,但这不是问题,代码按原样布局;但是,日期和时间格式使用可用于文件名的字符,特别是冒号和反斜杠导致它失败。以下是更正后的代码。我调整了一些其他的点,但效果很好。

Private Sub Command25_Click()
On Error GoTo Command25_Click_Err

Dim filePath As String

filePath = "C:\Work\ACBL\Access Dbase\DayCount\Reports\"

  DoCmd.OutputTo acOutputReport, "rpt_CaseLog-CurrentYear", acFormatPDF, _
  filePath & " Case Log Update" & Format(Now(), " dd-mm-yyyy hhmmss") & ".pdf"

Command25_Click_Exit:
  Exit Sub

Command25_Click_Err:
  MsgBox Error$
  Resume Command25_Click_Exit

End Sub