VBA:取り込むCSVの行数と列数を取得する方法
1.やりたいこと
取り込むCSVファイルの列数と行数を取得したい。
2.サンプルコード
以下のサンプルコードの「実行Main」を実行すると、行数と列数の取得ができます。
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 40 41 42 43 44 45 46 47 48 49 50 51 52 |
Sub 実行Main() Dim CSVPath As String Dim LastRow As Long Dim LastColumn As Long '取得するCSVのパス' CSVPath = "C:\Users\xxxx\test.csv" '行数の取得' LastRow = getLastRow(CSVPath) '列数の取得' LastColumn = getLastColumn(CSVPath) End Sub '************************************' '取込むCSVファイルの行数を取得' '************************************' Function getLastRow(CSVPath As String) As Long Dim buf As String Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") With FSO.OpenTextFile(CSVPath, 1) buf = .ReadAll .Close End With getLastRow = UBound(Split(buf, vbCrLf)) - 1 Set FSO = Nothing End Function '************************************' '取込むCSVファイルの列数を取得' '************************************' Function getLastColumn(CSVPath As String) As Long Dim buf As String Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") With FSO.OpenTextFile(CSVPath, 1) buf = .ReadLine .Close End With getLastColumn = UBound(Split(buf, ",")) + 1 Set FSO = Nothing End Function |