Access VBA 出力先フォルダ名の置換
Access VBAで次のようにQueryとReportを予め用意したフォルダにExportしています。このシステムを別のユーザー「SPD110001」用を作成する時全ての「SPD110000」を「SPD11001」に置き換えていくのは大変です。何か式を作り1ヵ所だけ「SPD11001」に変更すると全ての「SPD110000」を「SPD11001」として解釈し「SPD11001」のフォルダにファイルが入るようにする方法を教えてください。
Public Sub Syuturyoku()
DoCmd.OutputTo acOutputQuery, "在約122ソース", acFormatXLS, "c:\SPD\SPD110000\SpdFeedback\" & "在庫と注文残.xls"
DoCmd.OutputTo acOutputQuery, "買掛221箱数と金額", acFormatXLS, "c:\SPD\SPD110000\SpdFeedback\" & "買掛金額.xls"
DoCmd.OutputTo acOutputQuery, "出庫0133履歴", acFormatXLS, "c:\SPD\SPD110000\SpdFeedback\" & "出庫履歴.xls"
DoCmd.OutputTo acOutputQuery, "棚卸0133履歴", acFormatXLS, "c:\SPD\SPD110000\SpdFeedback\" & "棚卸履歴.xls"
DoCmd.OutputTo acOutputQuery, "注文書311履歴", acFormatXLS, "c:\SPD\SPD110000\\SpdFeedback\" & "注文書履歴.xls"
DoCmd.OutputTo acOutputQuery, "入庫0133履歴", acFormatXLS, "c:\SPD\SPD110000\SpdFeedback\" & "入庫履歴.xls"
DoCmd.OutputTo acOutputQuery, "物品121採用物品リスト", acFormatXLS, "c:\SPD\SPD110000\SpdFeedback\" & "物品採用中リスト.xls"
DoCmd.OutputTo acOutputQuery, "物品122未採用物品リスト", acFormatXLS, "c:\SPD\SPD110000\SpdFeedback\" & "物品未採用リスト.xls"
DoCmd.OutputTo acOutputReport, "ラベル スタッフ111", acFormatPDF, "c:\SPD\SPD110000\SpdFeedback\" & "ラベル スタッフ" & ".pdf"
DoCmd.OutputTo acOutputReport, "ラベル 物品121採用物品リスト", acFormatPDF, "c:\SPD\SPD110000\SpdFeedback\" & "ラベル 物品採用中リスト" & ".pdf"
DoCmd.OutputTo acOutputReport, "ラベル 連番", acFormatPDF, "c:\SPD\SPD110000\SpdFeedback\" & "ラベル 連番" & ".pdf"
Exit Sub
お礼
USB99さま 早々のご回答ありがとうございます。 ご紹介いただいた本は早々購入してみます。 今回の趣旨は私が使うというのではなく、Excelのマクロでデータ処理を自動化するのですが、途中Accessからデータを抜かなければならない箇所があり、ユーザにあれやれ、これやれとしたくないということです。ボタンワンクリックですべてできるようにしたいのです。
補足
自己解決できましたので結果をご報告いたします '*************************************** 'ACCESSのクエリーを実行して結果をシート '*************************************** Dim AcCon As ADODB.Connection Dim AcCmd As ADODB.Command Set AcCon = New ADODB.Connection Set AcCmd = New ADODB.Command '1. 対象DBとマクロ名を指定 Target_File_Name = "C:\test.mdb" '2.アクセスの起動とマクロの実行 '2-1.Access DB を開く AcCon.Open "Provider = Microsoft.Jet.OLEDB.4.0; _ Data Source =" & Target_File_Name '2-2.クエリーを指定する With AcCmd .ActiveConnection = AcCon .CommandText = "クエリー名" End With '2-3.クエリーを実行して結果をRecSetに入れる Set RecSet = AcCmd.Execute '2-4.Excelシートに吐き出す Worksheets("シート名").Select Range("A2").CopyFromRecordset RecSet