【エクセルマクロ】CSV出力時に保存先指定:コピペで使えるコード

vba-CSV保存先指定-アイキャッチ ExcelVBA

エクセルマクロで、CSVの保存先を指定するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

CSV出力時に保存先指定

以下のマクロを実行すると、CSVの保存先を指定します。


Sub 指定パスにCSV作成して保存()

Dim MyFolder As String

    'CSV保存先のパス
    MyFolder = "C:\テスト\"
    
    '名前を付けて保存
    ActiveWorkbook.SaveAs FileName:= _
            MyFolder & "ファイル名を入力してね" & ".csv", FileFormat:=xlCSV

End Sub

 

マクロ実行後

CSVを作成し、指定のフォルダパスに自動保存します。


 

CSV出力時に保存先指定(同名ファイルは処理分岐)

以下のマクロを実行すると、すでに同名ファイルがある場合は処理を分岐します。


Sub 指定場所にCSV作成保存()

Dim MyFolder As String
Dim MyName As String
Dim Done As Variant

    'CSV保存先のパス
    MyFolder = "C:\テスト"
    
    'ファイル名
    MyName = "ファイル名を入力してね" & ".csv"

    '同名ファイルがあるか確認
    If Dir(MyFolder & "\" & MyName) <> "" Then

        Done = Application.GetSaveAsFilename(MyFolder & "\" & MyName, "CSVファイル(*.csv),*.csv")
        
        If Done = False Then
            Exit Sub
        Else
            '保存
            Application.DisplayAlerts = False
                ActiveWorkbook.SaveAs FileName:= _
                    Done, FileFormat:=xlCSV
            Application.DisplayAlerts = True
        End If
    Else

        '名前を付けて保存
        ActiveWorkbook.SaveAs FileName:= _
                MyFolder & "\" & MyName, FileFormat:=xlCSV
    End If

End Sub

 

同名ファイルが存在しない場合

CSVを作成し、指定のフォルダパスに自動保存します。


 

すでに同名ファイルが存在する場合

名前を付けて保存ダイアログを表示します。

「キャンセル」をクリックした場合
⇒CSVファイルを作成せず、マクロを終了します。

「保存」をクリックした場合
⇒すでに存在する同名ファイルに上書き保存します。

ファイル名を変更した場合
⇒変更したファイル名でCSVファイルを作成します。


 
 
この記事がお役に立ちますと幸いです。
 

・【エクセルマクロ】CSV処理を自動化まとめ
 

【エクセルマクロ】CSV処理を自動化:超便利9選
...

 

「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載