0

ハードコーディングされたファイル「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"

ただし、これを実行しても、ファイル名が以前の結果に変更されることはありません。

別の変数を作成せずに、望ましい初期ファイル名を参照するにはどうすればよいですか?

4

2 に答える 2

2

使用するLeft()

oFSO.MoveFile sResultFilename, Left(sResultFilename, Len(sResultFilename)-4) & "-Failed.xls" 
于 2013-06-21T14:05:20.230 に答える
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)
于 2013-06-21T17:56:13.843 に答える