csv实际就是文本文件,按照文本文件读取即可
Const ForReading = 1Dim objFSO, objFile, strline
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("d:\xxx.csv", ForReading)
Do Until objFile.AtEndOfStream
strline=objFile.readline
MsgBox strline '这里是显示一行内容而已,可以换成别的内容
Loop
objFile.close
Set fso = nothing
LogPath = "D:\123"Set FSO = CreateObject("Scripting.FileSystemObject")
Dim dt, fn '定义两个变量用于在遍历时记录最新的创建时间和文件名
dt = "1990-1-1" '设定一个时间初始值用于后续比较
If FSO.FolderExists(LogPath) Then
Set Folder = FSO.GetFolder(LogPath)
For Each File In Folder.Files
If LCase(Right(File.Name, 3)) = "csv" Then '判断文件后缀
If DateDiff("s", dt, File.DateCreated) > 0 Then '比较创建时间
'间隔时间以秒(s)为单位,返回两个时间间隔的秒数
'若 dt > File.DateCreated,DateDiff返回负数
'若 dt < File.DateCreated,则更新dt和fn
dt = File.DateCreated
fn = File.Name
End If
End If
Next
Set Folder = Nothing
Else
'若文件夹路径不存在,给出错误提示并退出脚本运行
MsgBox "Folder " & LogPath & " not found!", vbExclamation
WScript.Quit
End If
'MsgBox fn '显示创建时间最新的文件名(不含路径),调试时可放开注释
'至此,得到文件名,下面读文件并判断第1行第1列的值是否符合要求
Const ForReading = 1
Set f = FSO.OpenTextFile(LogPath & "\" & fn, ForReading)
'MsgBox f.ReadLine '显示第1行文本内容,调试时可放开注释
ret = Split(f.ReadLine) '默认是空格分隔,若是TAB分隔,split要加第二个参数vbTab
'MsgBox ret(0) '显示第1行第1列的值,调试时可放开注释
f.Close
Set f = Nothing
Set FSO = Nothing
If ret(0) > 1.55 And ret(0) < 10.85 Then
MsgBox "对", vbInformation
Else
MsgBox "错", vbExclamation
End If
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)