レポートをPDFでメールに添付する際に
添付されるファイル名に日時を追加したいのです。
Format(Now(), "yyyymmdd_hhnnss") でいろいろ試しましたが
知識不足のためなかなかうまくできません…
ご教示いただけませんでしょうか?
よろしくお願いいたします。
Private Sub コマンド10_Click() DoCmd.RunCommand acCmdSaveRecord Dim atesaki As String Dim kenmei As String atesaki = "---@---" kenmei = "レポートをお送りいたします" Dim honbun As String Dim honbun2 As String Dim honbun3 As String Dim honbun4 As String Dim zenbun As String honbun = "__様" honbun2 = "お世話様です。" honbun3 = "レポートを添付いたします。" honbun4 = "よろしくお願いいたします。" zenbun = honbun & vbCrLf & honbun2 & vbCrLf & honbun3 & vbCrLf & honbun4 Const cstrRptName As String = "レポート" On Error GoTo Err_Handler Echo False DoCmd.OpenReport "レポート", acViewPreview, , "報告ID=" & Me!報告ID DoCmd.SendObject acSendReport, "レポート", acFormatPDF, atesaki, "", "", kenmei, zenbun, True, """" Exit_Here: On Error Resume Next DoCmd.Close acReport, cstrRptName Echo True Exit Sub Err_Handler: If Err.Number = 2501 Then Else MsgBox "エラーが発生しました" End If Resume Exit_Here: End Sub
追記です
いろいろ検索し以下の部分を
Cmd.OpenReport "レポート", acViewPreview, , "報告ID=" & Me!報告ID DoCmd.SendObject acSendReport, "レポート", acFormatPDF, atesaki, "", "", kenmei, zenbun, True, """"
以下に書き換えてみました。
DoCmd.CopyObject , "レポート_" & Format(Now(), "yyyymmdd_hhnnss"), acReport, "レポート" DoCmd.SendObject acSendReport, "レポート_" & Format(Now(), "yyyymmdd_hhnnss"), acFormatPDF, atesaki, "", "", kenmei, zenbun, True, "" DoCmd.DeleteObject acRepory, "レポート_" & Format(Now(), "yyyymmdd_hhnnss")
メール作成画面が開くと、PDFファイル名は変わっておらず、すべてのページのレポートになってしまっています。
メール作成画面を閉じると名前に日時のついたレポートがレポート内に出現します。
削除もされないようです…
回答2件
あなたの回答
tips
プレビュー