CSVファイルをエクセルで表示させるには、行数が限られていますので、このスクリプトを使用してエクセルの表示限界(64388)行毎にファイルを分割します。
下記ソースを「FileSplit.vbs」で保存して、分割したいファイルをこのスクリプトアイコンにドラッグ&ドロップします。
すると、保存されていたフォルダに、複数のファイルが生成されます。
FileSplit.vbs
Dim rFS, rTemp, rWshShell
Dim wFS, wTemp, wWshShell
Const ForReading = 1
Const ForWriting = 2
Const strFine = "分割が完了しました。"
'最大分割行
Const MaxLine = 64388
Set objArgs = WScript.Arguments
'ドラッグドロップファイル名ループ(複数ファイルに対応)
For I = 0 to objArgs.Count - 1
'読み込みオブジェクト作成
Set rWshShell = WScript.CreateObject("WScript.Shell")
Set rFS = WScript.CreateObject("Scripting.FileSystemObject")
rTemp = objArgs(I)
Set rFile = rFS.GetFile(rTemp)
Set rbjScriptFile = rFS.OpenTextFile(rTemp, ForReading, True)
strMakeName = rFile.ParentFolder
'書き込みオブジェクト作成
Set wWshShell = WScript.CreateObject("WScript.Shell")
Set wFS = WScript.CreateObject("Scripting.FileSystemObject")
DataLine = 1
FileCount = 1
'ファイルの読み込み
Do While rbjScriptFile.AtEndOfStream <> TRUE
If DataLine >= MaxLine Or (FileCount = 1 And DataLine = 1) Then
If FileCount > 1 Then
wbjScriptFile.Close
End If
wTemp = strMakeName & "" & wFS.GetBaseName(rFile.Name) & "_" &FileCount & "." & wFS.GetExtensionName(rFile.Name)
Set wbjScriptFile = wFS.OpenTextFile(wTemp, ForWriting, True)
FileCount = FileCount + 1
DataLine = 0
End If
strCurrentLine = rbjScriptFile.ReadLine
wbjScriptFile.WriteLine strCurrentLine
DataLine = DataLine + 1
Loop
rbjScriptFile.Close
Next
WScript.Echo strFine