如何用递增的数字保存excel文件?

时间:2014-10-14 16:01:40

标签: excel vba increment

我正在寻找VBA添加到我的宏,如果文件名已经存在,将增加文件名。

当前代码:

Dim filepath As String
Dim filename As String
Dim filepatharch As String
Dim filedate As String
Dim filelist As String

'Grab FROM list number
Sheets("TD File").Select
Range("G4").Select
filelist = ActiveCell.Value


'Grab today's date
filedate = Format(Now, "MMDD01.") --------------Currently where the '01' comes from (see below)

'Set where to save and the file naming convention
filepath = "\\home\serverfolder\FileDrop\"
tdfilename = "TD" & filedate & filelist
'& ".txt"


'Set where to save and the file naming convention
filepatharch = "\\home\myfolder\archive"
tdfilename = "TD" & filedate & filelist
'& ".txt"


'Save THXXXXXX.XXX & TDXXXXXX.XXX as flat files
   'Workbooks("MYWORK01").Activate
    Sheets("TDflatfile").Copy
    ActiveWorkbook.SaveAs filename:= _
        "\\home\serverfolder\FileDrop\" & tdfilename, FileFormat:=xlCSV, _
        CreateBackup:=False
    ActiveWindow.Close

保存的文件名的示例为“TD101401.600”。 TD + MMDD + 01 + .XXX。我希望“+ 01”是增量的数字,这样我就可以拥有一个“TD101402.600”等文件。目前,如果该文件存在相同的.XXX编号和日期组合,则会被覆盖。 .XXX不能是增量。

这可能吗?

2 个答案:

答案 0 :(得分:0)

只需添加Dir()

的条件循环
Do While ((Dir(filepath & tdfilename)) <> Empty)
inc = inc+1
filedate = Format(Now, "MMDD") & "." & Format(inc, "00")
tdfilename = "TD" & filedate & filelist
Loop

答案 1 :(得分:0)

有人建议这一点,它对我有用:

Dim filecount As Integer

Do While Len(Dir(filepatharch & thfilename)) <> 0
        filecount = filecount + 1
        filedate = Format(Now, "MMDD0" & filecount & ".")
        tdfilename = "TD" & filedate & filelist
        thfilename = "TH" & filedate & filelist
Loop