ねぇもりさん、システムから出力したCSVファイルが大量にあるんだ。
このCSVファイル、まとめてExcelに変換したいなぁ~?
もり
それは大変だ~。一括で変換するマクロを作っちゃおう
CSV形式のファイルを加工するために、Excel形式に変換して作業をすることってありますよね。
1つ2つならまだしも・・・たくさんあったらイヤですよね。マクロを紹介します。
複数のCSVファイルを、一括でExcel形式に変換できるマクロを紹介します。
元データのCSVファイルと同じ階層に、Excelファイルを作成します。
スポンサーリンク
CSVファイルをExcelに変換するマクロ
参照設定
Microsoft Scripting Runtimeを使用します。
コード
標準モジュールに貼り付けて使用してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
Sub main() Application.ScreenUpdating = False Dim OpenFileName As Variant OpenFileName = Application.GetOpenFilename _ ("CSVファイル,*.csv*", MultiSelect:=True) If Not IsArray(OpenFileName) Then MsgBox "キャンセルしました。": Exit Sub End If Dim fso As FileSystemObject Set fso = New FileSystemObject Dim n As Long '選択したファイル数、処理を繰り返す For n = LBound(OpenFileName) To UBound(OpenFileName) Dim wb As Workbook Set wb = Workbooks.Open(OpenFileName(n)) Dim strBaseName As String strBaseName = fso.GetBaseName(wb.Name) '拡張子を除くファイル名を取得 '同じファイル名で同じ階層にExcel形式で保存する wb.SaveAs _ Filename:=wb.Path & "\" & strBaseName, FileFormat:=xlWorkbookDefault wb.Close SaveChanges:=False Set wb = Nothing 'いったん解放 Next n Application.ScreenUpdating = True MsgBox "終了しました。" End Sub |
マクロの使い方
上記のマクロを実行すると「ファイルを開く」ダイアログが出現します。
- 変換元のCSVファイルを選択
※複数ファイルをまとめて選択可能(Ctrlキー or Shiftキーを使用) - 「開く」を押す
あとは処理を待つだけ!CSVファイルと同じ階層に、Excelが作成されていますよ。
一度ツールを作ってしまえば、半永久的に使いまわせます。退屈な作業はどんどんマクロ化していきましょう!
スポンサーリンク
スポンサーリンク