【1】あるフォルダ内にあるCSVファイルのみを全て読み込み
【2】読み込んだ全てのファイルの先頭7行を削除、最終行を削除して保存
するスクリプトをVBSで作成しています。
ファイル名は全て取り出せたのですが、ファイルの行数を取得する際に、一つのファイルを読んだら、
処理が終了してしまいました。
おそらく、Do While ~ の中の処理がうまくいってないと思われます。
できれば、先頭7行削除、最終行を削除して保存する方法も合わせてご教授願いたいと思います。
下記に自分で作成したプログラムを記述しますので、宜しくお願い致します。
vbscript
1'ファイルシステムオブジェクト定義 2Dim objFSO 3Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") 4'カレントパス取得 5Dim objPath 6Set objPath = CreateObject("Scripting.FileSystemObject").GetFolder(".") 7 8 9For Each objFile In objPath.Files 10 11 Dim FileName 12 FileName = objFile.Name 13 'WScript.Echo FileName 14 15 If InStr(FileName, ".csv") > 0 Then 16 '文字列の中に".csv"の文字があればここの処理が行われます。 17 Call FileRead(FileName) 18 End If 19 20Next 21 22Sub FileRead(FileNameA) 23 24 Dim objFSO ' FileSystemObject 25 Dim objFile ' ファイル読み込み用 26 27 Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") 28 If Err.Number = 0 Then 29 Set objFile = objFSO.OpenTextFile(FileNameA) 30 If Err.Number = 0 Then 31 count = 0 32 Do While objFile.AtEndOfStream <> True 33 34 35 36 37 count = count + 1 38 If count < 8 Then 39 WScript.Echo FileNameA & objFile.ReadLine 40 End If 41 42 43 44 Loop 45 objFile.Close 46 Else 47 WScript.Echo "ファイルオープンエラー: " & Err.Description 48 End If 49Else 50 WScript.Echo "エラー: " & Err.Description 51End If 52 53Set objFile = Nothing 54Set objFSO = Nothing 55 56 'MsgBox "ファイル名:" & FileNameA 57 58 59End Sub
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/22 06:24
2016/01/22 06:51