我想要做的是在检查文件夹之后使用Excel制作文件夹的副本(如果存在)。但如果它存在,而不是删除文件夹并创建一个新文件夹(我已经想出如何使用kill / Rmdir / Mkdir函数),我想创建一个使用相同文件夹名称的新文件夹,但是在文件夹名称的末尾加上(1),(2)之类的东西来区分它们。此外,我希望它是一个循环,以便在以前的版本已经存在的情况下获得更高版本。
实施例: 原始文件夹名称abc 第一个副本(在同一目录下abc(1)) 第二个副本(在同一目录下abc(2)) =>我想循环检查每个版本,然后创建一个新文件夹(如果它尚不存在)。
On Error Resume Next
Kill strDir & "*.*"
RmDir strDir
On Error GoTo 0
If Dir(strDir, vbDirectory) = "" Then
strDir = Destination & "\" "
MkDir strDir
End If
这是我现在拥有的,而且我正在使用
If Dir(strDir, vbDirectory) = "" Then
检查文件夹是否已存在。
有关如何进行循环检查以及创建具有增量版本名称的文件夹的任何帮助?提前谢谢!
答案 0 :(得分:0)
Dim strDirVersion as Integer
If Dir(strDir, vbDirectory) <> "" Then
strDirVersion = 1
Do While Dir(strDir & "(" & strDirVersion & ")", vbDirectory) <> ""
strDirVersion = strDirVersion + 1
Loop
strDir = strDir & "(" & strDirVersion & ")"
End If
这将使strDir保留初始值或后缀为(n)
,其中n
是第一个可以找到目录的整数(以1
开头)尚不存在。
注意:如果strDir的值为abc
且目录abc
,abc(1)
和abc(3)
已经存在,则会返回abc(2)
,而不是{{ 1}} - 即在注意到abc(4)
已被使用之前,它看到2
可用。