Excel VBA通过添加空格重命名

Excel VBA通过添加空格重命名,excel,vba,Excel,Vba,我想在文档名称之间添加一个空格。但是,如果为True,则代码不能通过行 具有以下随机名称的文件名: INV500TA1234第1版表格\u Health.pdf 希望它是: INV500 TAT1234第1版表单_Health.pdf#在500和TAT之间留有空格 注意,一些文档已经包含INV500 TAT,因此我编写了if来跳过它们 子重命名_空间() Dim ffile作为变量,路径作为字符串 path=“C:\Users\me\Desktop\Rename\” ffile=Dir(路径

我想在文档名称之间添加一个空格。但是,如果为True,则代码不能通过

具有以下随机名称的文件名:

INV500TA1234第1版表格\u Health.pdf
希望它是:

INV500 TAT1234第1版表单_Health.pdf#在500和TAT之间留有空格
注意,一些文档已经包含
INV500 TAT
,因此我编写了
if
来跳过它们

子重命名_空间()
Dim ffile作为变量,路径作为字符串
path=“C:\Users\me\Desktop\Rename\”
ffile=Dir(路径)
“而非”的
如果ffile=“INV500TAT*”则
旧名称=路径和文件
新名称=路径&“INV500 TAT*”
将旧名称命名为新名称
如果结束
ffile=Dir
温德
端接头

这将在
500
TAT
之间以
INV500TAT
开头的每个文件名中留出一个空格

Sub Rename_Space()
    Dim ffile As Variant, path As String
    path = "C:\Users\me\Desktop\Rename\"
    ffile = Dir(path)
    While ffile <> ""
    Debug.Print ffile
        If Left(ffile, 9) = "INV500TAT" Then
        old_name = path & ffile
        new_name = path & Left(ffile, 6) & " " & Mid(ffile, 7, Len(ffile))
        Name old_name As new_name
        End If
        ffile = Dir
    Wend
End Sub
子重命名_空间()
Dim ffile作为变量,路径作为字符串
path=“C:\Users\me\Desktop\Rename\”
ffile=Dir(路径)
“而非”的
调试。打印文件
如果左(ffile,9)=“INV500TAT”,则
旧名称=路径和文件
新名称=路径和左侧(ffile,6)和中间(ffile,7,Len(ffile))
将旧名称命名为新名称
如果结束
ffile=Dir
温德
端接头

似乎,您要检查特定位置上是否存在空格<代码>如果ffile像“INV500TAT*”和Mid(ffile,10,1)”,那么
显然
INV500TA1234 Rev 1 Form_Health.pdf
不等于
INV500TAT*
,因此
如果
的输入非常正确。如果输入了它,您将遇到下一个问题,即尝试创建包含无效文件名字符的
*
的文件名。如果你也要解决这个问题,那么下一个问题就是在使用
Dir
枚举文件时更改文件列表,这会导致。抱歉,我在代码中编辑了通配符*。我的原始代码中有通配符,通配符只能与
类似的
运算符一起使用,而不能与
=
一起使用,后者表示“相等”。