如何使用 VBA 替换文件名中的 unicode 字符

问题描述

我在一个文件夹中有数百个文件文件名中包含字符 口。我最终想使用 vba 宏移动文件我有第二个宏来替换文件名中的字符,但它无法替换口。 VBA 用问号替换口,因此宏在尝试重命名时会中断。我该如何解决这个问题?

示例文件名:“Calaloo - Direct Brands 2010q4 `92661 ck 口 us 口 Stmt 1.45 PB 8.69 EB 10.14 -mm 56569.pdf”

(更新为包含 unicode 代码并使用 FSO)

重命名代码

Sub rename_files_replace_character_FSO()
    Dim FSO As Scripting.FileSystemObject,fldr As Folder,f As File,ts As TextStream
    Dim sPath,sOld,sNew,sNewFile As String
    Dim wbMain As Workbook
    Dim wsMain As Worksheet

    Set wbMain = ThisWorkbook
    Set wsMain = wbMain.Worksheets("Rename Files")
    Set FSO = New Scripting.FileSystemObject
    sPath = wsMain.Range("B2").Value
        If Right(sPath,1) <> "\" Then sPath = sPath + "\"
    sOld = wsMain.Range("C2").Value
    sNew = wsMain.Range("D2").Value
    
        Set fldr = FSO.GetFolder(sPath)
        For Each f In fldr.Files
            sNewFile = Replace(f,ChrW$(21475),sNew)
            Debug.Print f
            Name f As sNewFile
        Next
    Set f = nothing
    Set fldr = nothing
    Set FSO = nothing

End Sub

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...