我有一个 CSV 格式的日志文件,需要定期截断。我正在寻找的是一种方法来搜索文件中的最后一个条目,获取记录的行号,然后只保留前 100 行,并删除剩余的行。我需要这个每周运行一次。类似这样
的搜索列 A 为 Null
查找该 Null 条目
的行号 为该行号创建一个数组 -101 行以创建最后 100 行数据的
数组 删除该数组之外的所有行 - 只留下最后 100 行.
我改变了我的方法,而是使用 VBS(因为宏不能保存在 CSV 文件中)。我要求代码检查单元格 A450 中的任何内容。如果那里有东西,则应删除第 1-250 行。
Option Explicit
Dim Val
Dim ExcelApp
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Visible = True
ExcelApp.Workbooks.Open("c:\CodeTest\P16UPSHEAD_In.csv")
Val = ExcelApp.ActiveSheet.Range("A450")
If Val <> "" Then
ExcelApp.ActiveSheet.Range("A1:A250").EntireRow.Delete
End If
ExcelApp.Workbooks.Save("c:\CodeTest\P16UPSHEAD_In.csv")
问题是文件以只读方式打开 - 所以保存命令不起作用。我究竟做错了什么?