質問: false DoCmd.openquery “クエリ名” module1.mkmkd(保存先フォルダ作成処理) DoCmd.TransferText(csv出力処理) msgbox “出力メッセージ” 上記の処理をAだけ、Bだけ、Cだけ、ABだけ、選択されていない等網羅して書いております。
回答: やりたいとこが不明瞭なので、最大限想像して下記のような仕様と仮定して回答します。 ちがう場合は、ロジックを参考にご自身で作成してください。 トグルボタン名は、繰り返し処理しやすいように規則的なものに変更してます。 コマンドボタン「cmdCSVOutput」をクリックしたら、 トグルボタン「tgl1」 が押されているとき、「クエリA」 を出力、ファイル名は「クエリA.csv」 トグルボタン「tgl2」 が押されているとき、「クエリB」 を出力、ファイル名は「クエリB.csv」 トグルボタン「tgl3」 が押されているとき、「クエリC」 を出力、ファイル名は「クエリC.csv」 最後に出力されたクエリ名の一覧をメッセージボックスで表示する。 トグルボタンの標題(Caption)は出力したいクエリ名とします。 ``` Private Sub cmdCSVOutput_Click() Dim i As Long, sMsg As String For i = 1 To 3 With Me("tgl" & i) If .Value Then Module1.mkmkd (保存先フォルダ作成処理) DoCmd.TransferText acExportDelim, , .Caption, _ "C:\test\" & .Caption & ".csv" sMsg = sMsg & .Caption & vbCrLf End If End With Next If sMsg = "" Then MsgBox "出力するクエリが選択されていません。" Else MsgBox sMsg & " をCSVで出力しました。" End If End Sub ``` Forループの使い方、Withステートメントの使いのご参考に。