通过vba代码将pdf批量命名为文件里的某一字段

通过vba代码将pdf批量命名为发票号码

试试下面的代码:

Sub Macro3()
On Error Resume Next
    Dim mypath, myFile$, i&, d As Object
    mypath = [F1]
    If Dir(mypath & "*", vbDirectory) = "" Then
        MsgBox "文件地址不存在,请重新输入"
        Exit Sub
    End If
    If Range("C65536").End(xlUp).Row = 1 Then
        MsgBox "请在C列输入新名称"
        Exit Sub
    End If
    arr = Range("A2:C" & Range("A65536").End(xlUp).Row)
    Set d = CreateObject("scripting.dictionary")
    d.CompareMode = 1
    For i = 1 To UBound(arr)
        d(arr(i, 1)) = ""
    Next
    For i = 1 To UBound(arr)
        If d.Exists(arr(i, 3)) Then
            MsgBox "禁止用与原文件相同的文件名称修改文件名"
            Exit Sub
        End If
    Next
    mypath = mypath & "\"
    For i = 1 To UBound(arr)
        If arr(i, 3) <> "" Then
            If Dir(mypath & arr(i, 1)) <> "" Then Name mypath & arr(i, 1) As mypath & arr(i, 3)
        End If
    Next
    MsgBox "修改完毕"
End Sub

A列为原文件名,C列为修改后文件名,都带文件后缀……

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-22
不复杂,但要说明改名规则,最好举例说明