我正在尝试获取.HOL文件中的最后一行。 它将获得最后一行,但每次运行脚本时,它都会堆叠前面的行。
Dim lastLine
Dim objFile
Dim objFSO
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Desktop\OUTLOOK.HOL", ForReading)
Do Until objFile.AtEndOfStream
lastLine = objFile.ReadLine
Loop
objFile.Close
Wscript.Echo lastLine
我想要的是一个脚本,它可以删除任何比当前日期更早的日期,然后在.HOL文件的底部添加一个新日期。我需要最后一行的原因是我可以使用该日期并添加2周。
What the Echo Looks like Run 1 Run 2
Date1 Date1
Date2
Run 3
Date1
Date2
Date3
And so forth if you get it. (Id post picture but I cant yet)
=========== .HOL File =======
[Test Days] 5
Test Day, 5/3/2013
Test Day, 5/17/2013
Test Day, 5/31/2013
Test Day, 6/14/2013
Test Day, 6/28/2013
答案 0 :(得分:0)
简单的解决方法:
dim x
Do Until objFile.AtEndOfStream
x = objFile.ReadLine
If objFile.atEndOfStream Then
lastLine = x
End If
Loop
以下功能将在2010年1月31日前增加2周,您只需要从您的行中撰写:
DateAdd("ww",2,"31-Jan-10")
几个编辑..自从vbscript以来已经有一段时间了!
答案 1 :(得分:0)
如果你想替换文件中的最后一个日期,可以尝试这样的事情:
Set fso = CreateObject("Scripting.FileSystemObject")
text = Split(fso.OpenTextFile("C:\Desktop\OUTLOOK.HOL").ReadAll, vbNewLine)
Set f = fso.OpenTextFile(filename, 2)
For i = 0 To UBound(text)-1
f.WriteLine text(i)
Next
lastline = Split(text(UBound(text)), ",")
newdate = DateAdd("ww", 2, lastline(1))
lastline(1) = Year(newdate) & "/" & Right("0" & Month(newdate), 2) _
& "/" & Right("0" & Day(newdate), 2)
f.WriteLine Join(lastline, ",")
f.Close