• ベストアンサー

アクセスでエクセルに出力する際のファイル名を日付に

Access2010でレポートをエクセルに出力しています。 マクロで出力していますが、都度フォルダを選び、ファイル名を入力しなくてはなりません。 フォームのボタンをクリックすれば自動的に出力されるようにしたいのです。 出力先フォルダは決まっています。 ファイル名は当日の年月日で保存したいです。 どのようにすればいいのか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

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 などは、コメントアウトするか削除してください。

korozo88
質問者

お礼

思い通りになりました! 本当にありがとうございます!

その他の回答 (2)

  • m3_maki
  • ベストアンサー率64% (295/459)
回答No.3

マクロのアクション 「書式設定を保持したままエクスポート」 で出力している、ということでしょうか? でしたら、引数 「出力ファイル」 のところに = "C:\xxx\○○○\" & Format(Date(),'yyyymmdd') & ".xls" のような感じで行けると思います。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

フォームにボタンを一つ作成して、そのクリック時の イベントで、 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での表示は思うものになっていますか?

関連するQ&A

  • accessで作成したクエリーをエクセルに出力する時の問題

    アクセスで作成したクエリーをエクセルに出力します。フォームに作成したコマンドボタンを押すと、マクロが起動して、マクロで指定してあるフォルダにエクセルが出力されます。出力先にすでに同名のブックがある場合、「すでファイルが存在しています。上書きしますか。」と、いうメッセージが表示されますが、このメッセージを表示せずに無条件ですでに存在するファイルに上書きをしたいと思います。 メッセージを表示しない方法はありますか。一番いいのは,マクロ内でこのメッセージの非表示を指定できるのがいいのですが。 よろしくお願いします。

  • Access 抽出したフォームをファイル出力

    いつもお世話になっています。 フォームにボタンを作成して、指定したフォームをExcelファイルで保存しています。 これまではクエリに直接抽出条件を入力し、それをフォームにしていました。 条件が増えたので、読み込みのイベントで抽出(入社年度、部署名)を指定して フォームで抽出しています。そこからのレポートもフォームも抽出結果どおりです。 ただすべての内容がExcelファイルに出力されてしまいます。 抽出した内容だけをExcelファイルに出力するにはどうしたらいいでしょうか。 Private Sub Eccelで保存_Click() DoCmd.OutputTo acOutputForm, "活動記録", acSpreadsheetTypeExcel9 End Sub お力添えをお願いいたします。

  • AccessにてExcelファイル名にパラメーター情報を追加

    初めての投稿となります。 よろしくお願いいたします。 Accessにて年月日をパラメーター入力すると、該当年月日のDATAを抽出するクエリを作成しました。 現在はマクロにて自動的にデスクトップに該当DATAをExcelファイルに変換は出来るようになっておりますが、自動的にそのExcelファイル名の頭に入力したパラメーター情報を追加したいのですが、どのようにすれば出来るのでしょうか? 現在のファイル名: 情報.xls 自動作成時希望ファイル名:20090415情報.xls [20090415]がパラメーター入力情報です。 どうぞ宜しくお願いいたします。

  • Access Excel出力する保存先を指定したいのですが?

    Access初心者です。2003です。 7000ほどのデータを70ほどの抽出条件ごとにエクセルにしています。 抽出条件毎にクエリを複数作成し、各クエリが抽出したデータをマクロでエクセルに出力させています。このマクロをクエリ分作成し、別のマクロでその複数マクロをいっせいに実行させています。マクロには「コマンドの実行」で「Excelに出力」を使用しています。このアクションを使用するとマイドキュメントにエクセルが保存されてしまいます。(たまにディスクトップになります。) この保存先を指定したいのです。ダイアログではなく、設定した任意のフォルダにいっせいに収まるようにです。 「出力」アクションだと保存先のダイアログが出てくれますが、クエリの数が多いので手作業が増えてしまいます。「コマンドの実行」のExcel出力ですと手作業が無いのですが、マイドキュメントに保存されてしまいます。 私がツールを作成し、Accessを知らない人間がフォーム画面で使用するのでなるべく自動化したいと考えています。 へたくそな文ですが、どなたか助けてください。

  • アクセスからエクセルファイルを開きたい

    アクセスのフォームに作ったボタンから、特定のエクセルファイルを開きたいのですが、どういったマクロを作成したらいいでしょうか? 使用しているのはWindows98、Access97、Excel97です。 ご存知のかた、よろしくお願いします。

  • AccessのフォームをExcelに出力

    いつもお世話になっております。 現在、Access2003でDBを作成中です。 "テーブル1"をパラメータクエリで抽出します。"クエリ1"。 そのクエリを基にフォームを作成しています。"フォーム1"。これは抽出して印刷したり、Excelに出力するために作成しました。レポートではなく、フォームにした理由は、コマンドボタン等を配置できることからです。 Excelに出力する際のVBAでつまづいてしまいました。 DoCmd.OutputTo acOutputForm, "フォーム1", acSpreadsheetTypeExcel9 これで問題なく出力できています。が、、、 Access2007の一部のPCでこれを実行するとエラーが出ます。 原因は"OutputTo"が含まれているとエラーになるようです。 ちなみにエラーは「現在出力しようとしているオブジェクトの形式は無効です。」 「2007 Office スイート Service Pack 2」こちらをインストールすると良いそうなのですが、だめでした。 WindowsXP、Office2007はこのVBAだとエラーになります。 WindowsVista、Office2007は正常に使えました。 PCの何か設定?と考えたりもしたのですが、はっきりとした原因がわからないのでは、他の人にDBを使っていただけないので、エラーにならないVBAでいきたいです。 もうひとつ、 mFileName = InputBox("ファイル名を入力してください。") DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "フォーム1", mFileName こちらのVBAはクエリの出力だとうまくいくのですが、フォームだとだめでした。 クエリから抽出して保存すれば良いのですが、理想はこの形です。 1.フォーム1を開くと「担当者を入力」とパラメータクエリが働き、抽出結果をフォーム1に表示される。 2.[出力]ボタンを押すと、ダイアログボックスが開いてファイル名を指定して保存する。または、ダイアログボックスが開かなくても名前を指定できれば良いです。最悪、指定できなくても良いですが、原因となる、"OutputTo"を避けたVBAでいきたい。 3.mFileName = InputBox("ファイル名を入力してください。") DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "クエリ1", mFileName これだと、1.でパラメータクエリで抽出結果をフォームに表示させて、2.で[出力]ボタンを押すと、また、パラメータクエリで抽出しなければならなくなるのでできれば避けたいです。 こちらの条件でご教授お願い致します。 また、WindowsXP、Office2007でエラーが出ましたので、これを解決する方法でも良いです。 よろしくお願い致します。

  • ACCESSのクエリーからエクセル出力

    ACCESSのクエリーからエクセル出力する方法を探しています。 フォームのボタン押下⇒保存先選択画面表示⇒エクセル出力 という手順を考えていますが、 テーブルをそのまま(保存先も直書き)出力するサンプルは見つかるのですが上記のようなものは見つけられません。 どこかいいサイト、もしくはサンプルなどありませんでしょうか?

  • アクセスからエクスポートするファイル名に日付を入れたい

    アクセス2003を使用しています。 エクセルからデータをインポートして、データ加工後、エクセルにエクスポートさせるように作成中です。 マクロで エクスポートするファイル名に日付を自動で設定せたいのですが、方法が判りません。 例)処理後20070824.xls  どうか教えてください。よろしくお願いいたします。

  • Accessの出力ファイル名について

    Access2002を使用しています。 現状Accessデータベースに「case1」~「case5」のフィールドがあったとします。 これをExcelへ出力する場合に出力ファイル名として 「固定名」+「case1」.xls というファイル名で出力を行いたいです。 どのように記述すればよろしいのでしょうか? 以上、よろしくお願いいたします。

  • ACCESS Excelの出力について

    stressmanといいます。 実は、ACCESSでクエリをExcelへ出力をしたいのですが、 ここで、既存のExcelのファイルのセルを指定して出力 というこはできるのでしょうか? 選択クエリで必要な情報を抜き出し、そのクエリを 「営業報告書.xls」というファイルのあらかじめ記載して ある「顧客名」「住所」のセルに格納していきたいのです。 マクロで「コマンド実行」-「Excel出力」を使って みたのですが、新しくファイルを開き、クエリのデザイン そのままで出力されます。 宜しくお願いします。

専門家に質問してみよう