2017年9月2日土曜日

[VBA] CSVファイルの中身をソートする

CSVファイルの内容をソートする方法について

例えば、Excelシートに移してから、Excelの機能で並び替える。
(少量ならプログラム無くても可能)

これをVBAで繰り返しやるとしたら、例えば
Dim Fso As New Scripting.FileSystemObject
Dim List As Object
Set List = CreateObject("System.Collections.ArrayList")

Dim Fin As TextStream
Set Fin = Fso.OpenTextFile(Filename:="csvファイル1.csv")
Do Until Fin.AtEndOfLine
  List.Add (Fin.ReadLine)
Loop
Fin.Close

List.Sort

Dim Fout As TextStream
Set Fout = Fso.CreateTextFile(Filename:="csvファイル2.csv")
Dim Value As Variant
For Each Value In List
  Debug.Print Value
  Fout.WriteLine Value
Next
Fout.Close