我有一个硬编码文件“ C:\ Results \ Results.xls ”,目前我正在通过QTP测试运行它。如果失败,我需要在文件末尾添加“-Failed”并成功“-success”。我目前正在使用
这样做Set oFSO = CreateObject("Scripting.FileSystemObject")
sResultFilename = ResultsPath & Day & sExcelFile
if iRowsFailed > 0 Then
oFSO.MoveFile sResultFilename, sResultFilename & "-Failed.xls"
Else
oFSO.MoveFile sResultFilename, sResultFilename & "-Success.xls"
End if
结果失败 - “ C:\ Results \ Results.xls-Failed.xls ”
我想删除多余的中间'。xls'
我尝试使用Len功能
iLen = len(sResultFilename)
iLen1 = iLen - 4
sResultFilename = Mid(1, iLen1) 'can just do (1, ilen-4) but this easier to read
制作移动文件
oFSO.MoveFile sResultFilename & ".xls", sResultFilename & "-Failed.xls"
但是在运行它时,它甚至不会将文件名更改为先前的结果。
如何在不制作其他变量的情况下引用初始文件名?
答案 0 :(得分:2)
使用Left()
oFSO.MoveFile sResultFilename, Left(sResultFilename, Len(sResultFilename)-4) & "-Failed.xls"
答案 1 :(得分:2)
我建议在处理文件名时使用适当的方法:
ResultsPath = "C:\Results"
sExcelFile = "Results.xls"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(fso.BuildPath(ResultsPath, sExcelFile))
if iRowsFailed > 0 Then
result = "Failed"
Else
result = "Success"
End if
f.Name = fso.GetBaseName(f) & "-" & result & "." & fso.GetExtensionName(f)