请教如何写VBS来处理csv文件

请教如何写VBS来处理csv文件,第1张

csv实际就是文本文件,按照文本文件读取即可

Const ForReading = 1

Dim 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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11851938.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存