如何使用vba复制excel文件?
您可以使用 VBA 代码将文件(工作簿)从一个文件夹复制到另一个文件夹,也可以使用不同的名称将文件复制到同一文件夹。
在本教程中,我们将了解如何在两个方向上编写代码。这里您需要使用FileSystemObject ,它提供对 Windows 中文件和文件夹的访问。
将 Excel 文件复制到单独的文件夹
Sub myMacro() Dim myFile As Object Set myFile = CreateObject("Scripting.FileSystemObject") Call myFile.CopyFile("C:\Users\admin\Desktop\folder\test-file.xlsx", "C:\Users\admin\Desktop\", True) End Sub
编写上面的代码:
- 首先,您需要声明一个变量。
- 接下来,您需要将 FileSystemObject 指定为刚刚定义的变量。
- 接下来,您需要在“CopyFile”方法中设置源位置。
- 最后,设置要粘贴的文件夹位置。
当您运行此宏时,它会从文件夹复制 Excel 工作簿“文本文件”并将其粘贴到我们在代码中指定的位置。
复制文件并重命名
当您尝试将文件复制并粘贴到同一位置时,VBA 很可能会向您显示错误。在这种情况下,最好的方法是在复制文件时重命名该文件。
Call myFile.CopyFile("C:\Users\admin\Desktop\folder\test-file.xlsx", "C:\Users\admin\Desktop\", True)
上面是我在之前的方法中使用的行代码。现在您只需对此行进行更改。对于目标位置,您需要添加要用于新文件的文件。
Call myFile.CopyFile("C:\Users\admin\Desktop\folder\test-file.xlsx", "C:\Users\admin\Desktop\folder\test-file1.xlsx ", True)
当您运行此代码时,它会从该文件夹复制文件 (text-file.xlsx),并将其复制到具有不同名称的同一文件夹 (test-file1.xlsx)。
Dim myFile As Object Set myFile = _ CreateObject("Scripting.FileSystemObject") Call myFile.CopyFile("C:\Users\admin\Desktop\folder\test-file.xlsx", _ "C:\Users\admin\Desktop\folder\test-file1.xlsx", True) End Sub