У меня есть простая проблема, логику которой я понимаю, но кажется, что Excel не примет это. Я написал цикл Do While, чтобы увеличить мое имя файла на 1, если он обнаруживает файл с таким же именем в пути к файлу. Например, если VBA обнаружит имя файла № 5 в моем пути, он сохранит файл как № 6. И так далее.
Sub Increment_My_File()
Dim myfile As String, mypath As String, mycount As Integer, _
mydate As String
mycount = 1
mydate = Format(Now(), "MM-DD-YYYY")
mypath = "C:\Users\reggie\OneDrive\Documents\"
myfile = "Account Breakdown " & mydate & " #" & mycount _
& " Inventory Allocation"
Workbooks.Add
'and do some code
Do While Dir(myfile) <> ""
myfile = "Account Breakdown " & mydate & " #" & mycount _
& " Inventory Allocation"
mycount = mycount + 1
'myfile = Dir '<<<don't know its purpose; does not help it seems
Loop
ActiveWorkbook.SaveAs Filename:=C:\Users\reggie\OneDrive\Documents\" & _
myfile
End Sub
Код выполняется хорошо, но предлагает мне перезаписать существующее имя файла, например, с # 1 вместо автоматического увеличения целого числа mycount
на 1 до # 2 в пути. Таким образом, в течение дня, я могу увеличить на 1 по сравнению с последним именем файла, скажем, # 7 ... затем он сохраняет в # 8
(Например, SaveAs ... Распределение учетных записей 15/06/2019 # 8 Распределение ресурсов ... в том же каталоге)
Я пытался всеми способами изменить мой каталог на dir(mypath & myfile)
и т. Д., Но у меня есть блок писателя.
Пожалуйста, совет.
Спасибо, друзья!