ray88’s diary

お仕事で困ったとき用の自分用の覚書

vba Excel→CSVに変換

CSV変換前にクレンジングや書式変更等必要な場合はこちらも参照
VBA Excel → CSV に変換する際の手順 - ray88’s diary
■呼び出し元プロシージャ

Sub CSV出力()
Dim strExcelPath As String
Dim strSheetName As String
Dim strCsvPath As String
Dim wb As Workbook
strExcelPath = "C:\Users\デスクトップ\ExcelVBAプロジェクト\注文書.xlsx"
strSheetName = "Sheet1"
strCsvPath = "C:\Users\デスクトップ\ExcelVBAプロジェクト\注文書.csv"
Set wb = Workbooks.Open(strExcelPath)
Call FormatCsv(wb, strExcelPath, strSheetName, strCsvPath)
Set wb = Nothing
End Sub

ExcelCSV変換部品

Sub FormatCsv(dstWb As Workbook, dstPath As String, _
              strSheetName As String, csvPath As String)
'---------------------------------------------------
'機 能:対象Excelブックの対象シートをカンマ区切りCSVとして保存
'引数1:対象Excelブックを格納したワークブックオブジェクト
'引数2:対象Excelブックのパス
'引数3:対象シート名
'引数4:CSVファイルパス
'---------------------------------------------------
    Application.DisplayAlerts = False
        dstWb.Sheets(strSheetName).Select
        dstWb.SaveAs csvPath, FileFormat:=xlCSV
        ActiveWindow.Close
    Application.DisplayAlerts = True
End Sub