- ベストアンサー
アクセスでエクセルに出力する際のファイル名を日付に
Access2010でレポートをエクセルに出力しています。 マクロで出力していますが、都度フォルダを選び、ファイル名を入力しなくてはなりません。 フォームのボタンをクリックすれば自動的に出力されるようにしたいのです。 出力先フォルダは決まっています。 ファイル名は当日の年月日で保存したいです。 どのようにすればいいのか教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No1です。 同じ名前のファイルが存在した場合の処理を 付加しておきます。それと、一部変更します。 Private Sub コマンド0_Click() Dim strReportName As String Dim strPath As String Dim strFileName As String '対象のレポート名 strReportName = "r1" 出力先のフォルダ名 strPath = "C:\Documents and Settings\user\デスクトップ\OKWeb2\登録Web1" '出力するExcelのファイル名 strFileName = strPath & "\" & Format(Date, "yyyy" & "mm" & "dd") DoCmd.OpenReport strReportName, acViewPreview If MsgBox("レポートをExcelへ転送しますか", vbYesNo) = vbYes Then If Dir(strFileName & ".xls") = "" Then DoCmd.SetWarnings False DoCmd.OutputTo acOutputReport, strReportName, acFormatXLS, strFileName & ".xls", True DoCmd.SetWarnings True Else If MsgBox("同じ名前のファイルがあります。上書きしますか", vbYesNo) = vbYes Then DoCmd.SetWarnings False DoCmd.OutputTo acOutputReport, strReportName, acFormatXLS, strFileName & ".xls", True DoCmd.SetWarnings True Else DoCmd.Close acReport, strReportName Exit Sub End If End If End If DoCmd.Close acReport, strReportName End Sub なお、レポートをすでに開いている場合には、 コード中の、 DoCmd.OpenReport strReportName, acViewPreview DoCmd.Close acReport, strReportName などは、コメントアウトするか削除してください。
その他の回答 (2)
- m3_maki
- ベストアンサー率64% (296/460)
マクロのアクション 「書式設定を保持したままエクスポート」 で出力している、ということでしょうか? でしたら、引数 「出力ファイル」 のところに = "C:\xxx\○○○\" & Format(Date(),'yyyymmdd') & ".xls" のような感じで行けると思います。
- piroin654
- ベストアンサー率75% (692/917)
フォームにボタンを一つ作成して、そのクリック時の イベントで、 Private Sub コマンド0_Click() Dim strReportName As String Dim strPath As String Dim strFileName As String '対象のレポート名 strReportName = "r1" '出力先のフォルダ名 strPath = "C:\Documents and Settings\user\デスクトップ\出力先" '出力するExcelのファイル名 strFileName = strPath & "\" & Format(Date, "yyyy" & "mm" & "dd") DoCmd.OpenReport strReportName, acViewPreview If MsgBox("レポートをExcelへ転送しますか", vbYesNo) = vbYes Then DoCmd.OutputTo acOutputReport, strReportName, acFormatXLS, strFileName & ".xls", True End If DoCmd.Close acReport, "r1" End Sub 上記の場合、Excelの形式をxlsにしていますが、環境に合わせてacFormatXLS と、".xls" を変更してください。 しかし、レポートをそのままExcelに出力して出力したときの Excelでの表示は思うものになっていますか?
お礼
思い通りになりました! 本当にありがとうございます!