Excel 使用VBScript导出CSV文件中的最后一行

Excel 使用VBScript导出CSV文件中的最后一行,excel,csv,vbscript,Excel,Csv,Vbscript,说到脚本,我还是个新手,所以如果这是我的一个简单错误,请原谅我 我正在尝试使用我创建并使用CMD执行的VBS脚本显示不断更新的CSV文件中的最后一行。我一直在从多个来源提取和修补代码 到目前为止,我只能把它拉到最上面一排,却不知道如何把它换到最下面一排。我的代码有点粗糙。任何帮助都将不胜感激 以下是我目前的代码: Option Explicit Dim objExcel Dim excelPath Dim workSheetCount Dim counter Dim currentWorkShe

说到脚本,我还是个新手,所以如果这是我的一个简单错误,请原谅我

我正在尝试使用我创建并使用CMD执行的VBS脚本显示不断更新的CSV文件中的最后一行。我一直在从多个来源提取和修补代码

到目前为止,我只能把它拉到最上面一排,却不知道如何把它换到最下面一排。我的代码有点粗糙。任何帮助都将不胜感激

以下是我目前的代码:

Option Explicit
Dim objExcel
Dim excelPath
Dim workSheetCount
Dim counter
Dim currentWorkSheet
Dim usedRowsCount
Dim row
Dim top
Dim Cells
Dim curRow
Dim word


excelPath = "c:\Test\test.csv"

WScript.Echo "Reading Data from " & excelPath

Set objExcel = CreateObject("Excel.Application")
objExcel.DisplayAlerts = 0
objExcel.Workbooks.open excelPath, false, true

workSheetCount = objExcel.Worksheets.Count

WScript.Echo "We have " & workSheetCount & " worksheets"

For counter = 1 to workSheetCount
WScript.Echo "-----------------------------------------------"
WScript.Echo "Reading data from worksheet " & counter & vbCRLF

Set currentWorkSheet = objExcel.ActiveWorkbook.Worksheets(counter)

usedRowsCount = currentWorkSheet.UsedRange.Rows.Count
top = currentWorksheet.UsedRange.Row

Set Cells = currentWorksheet.Cells
For row = 0 to (usedRowsCount-1)
    curRow = row+top
    word = Cells(curRow).Value
    WScript.Echo (word)
Next
Next

Set currentWorkSheet = Nothing
objExcel.Workbooks(1).Close
objExcel.Quit
Set currentWorkSheet = Nothing
Set objExcel = Nothing


CSV是一种文本格式,因此您可以使用
FileSystemObject
方法轻松处理它,而无需使用Excel。

谢谢!相比之下,我发现我做了很多不必要的脚本编写。
filename = "C:\Test\test.csv"

Set fso = CreateObject("Scripting.FileSystemObject")
Set f   = fso.OpenTextFile(filename)

Do Until f.AtEndOfStream
    line = f.ReadLine
Loop

f.Close

WScript.Echo line