首页 > 解决方案 > Excel VBA - 通过将单元格的内容添加到旧文件名的第一个空格中,将文件重命名为同一目录

问题描述

到目前为止有这个代码,其中: E1 = 当前文件夹的路径;H = 文件名:

Set fso = CreateObject(""Scripting.FileSystemObject"") 
FileSource = ""Range("E1") & Range("H" & (ActiveCell.Row)).Value"" 'original
FileDest = ""Range("E1") & Range("H" & (ActiveCell.Row)).Value"" 'new
fso.copyfile FileSource, FileDest, True 
If (fso.fileexists(FileDest)) Then 
fso.deletefile FileSource, True 
End If 

原始文件名中至少有一个空格 - 类似于“First Second Third.pdf”。我希望新文件名将单元格 J1 的内容放入新文件名中,例如“First -contents of cell J1- Second Third.pdf”

10.8.18 - 澄清 -我在 A6 列下方有一个文件名列表,以及包含 A3 中这些文件的文件夹的路径。我正在尝试通过将单元格 J1 的内容添加到旧文件名的第一个空格中来完成这些文件的重命名。并且一次只对一个文件执行此操作,一个在活动行中。

标签: excelvba

解决方案


这些引号不是必需的;事实上,它们阻碍了工作表单元格的读取。

替换应该能够将第一个空格更改为 J1 单元格中的任何内容。

Set fso = CreateObject("Scripting.FileSystemObject") 
FileSource = Range("E1") & Range("H" & ActiveCell.Row).Value 'original
FileDest = Range("E1") & Range("H" & ActiveCell.Row).Value 'new
fso.copyfile FileSource, replace(FileDest, chr(32), range("J1").value, 1, 1), True 
If (fso.fileexists(FileDest)) Then 
    fso.deletefile FileSource, True 
End If 

推荐阅读