【问题标题】:Copy files with auto rename使用自动重命名复制文件
【发布时间】:2015-07-12 05:32:13
【问题描述】:

我有两个具有静态名称的文件,我想使用 VBA 将这些文件复制到另一个地方,但使用了原始名称,因此 Windows 7 显示了以下选项: 复制和覆盖,不要复制和重命名原始文件复制。

VBA 可以做第三个选项吗?

【问题讨论】:

  • 您在 Excel 中使用 vba 吗?如果是这样,您是否编写了 vba 代码?您的代码是什么样的?
  • 我尝试这样的事情:Sub CopyFiles() Dim FSO As Object Dim FromPath As String Dim ToPath As String Dim FileExt As String FromPath = "D:\" ToPath = "D:\Mobil\" FileExt = "*.txt*" If Right(FromPath, 1) <> "\" Then FromPath = FromPath & "\" End If Set FSO = CreateObject("scripting.filesystemobject") FSO.CopyFile Source:=FromPath & FileExt, Destination:=ToPath MsgBox "Done!" End Sub 我的代码只是复制文件,并且只有在命运路径不包含源文件的情况下。
  • 你可以在命令行输入 xcopy /?在命令窗口中查看帮助。 technet.microsoft.com/en-us/library/cc771254.aspx
  • 我尝试echo f | xcopy /f /y D:\S136.txt D:\Mobil\ ,但这对我重命名原始文件没有帮助。

标签: vba excel


【解决方案1】:

也许这会有所帮助:

Sub copyAndRenameIfExistsElseCopy()

Dim fname As String, dname As String
fname = "C:\temp\folder1\one.txt"
dname = "C:\temp\folder2\one.txt"
rname = "C:\temp\folder2\one_renamed.txt"
If Dir(dname) <> "" Then
    FileCopy fname, rname
Else
    FileCopy fname, dname
End If

End Sub

【讨论】:

  • 感谢您抽出宝贵时间@Roland,但您的代码只能帮助我一次。第二天,当我想通过 VBA 复制更改的源文件时,我需要另一个名称。
猜你喜欢
  • 2022-01-09
  • 2021-07-21
  • 1970-01-01
  • 2016-03-25
  • 2013-06-27
  • 1970-01-01
  • 2013-06-13
  • 1970-01-01
  • 2017-01-05
相关资源
最近更新 更多