在excel中复制和重命名未打开的工作簿

时间:2012-02-07 19:13:20

标签: excel vba

我正在尝试复制位于一个文件路径的整个未打开的工作簿,重命名并将其保存到新目录...我遇到了重命名和保存的问题,这是我的代码到目前为止:

Private Sub new_file_Click()
Dim ActBook As Workbook, NewFile As String
Dim ToolFilePath As String, DestFilePath As String, NewToolName As String
NewToolName = InputBox("Enter the Tool Name.")

MsgBox (Tools_ListBox.Value)
ToolFilePath = GetToolPath(Tools_ListBox.Value)
ToolFilePath = GetPath & ToolFilePath

DestFilePath = GetPath & GetDestPath(Tools_ListBox.Value) & NewToolName & ".xlsm"

Set ActBook = Workbooks.Add(ToolFilePath)
ActBook.SaveAs DestFilePath
ActBook.Close True

我要复制的文件位于ToolFilePath中的路径中,我想要将其重命名的位置是DestFilePath,其中包含excel .xlsm扩展名。

我哪里错了?

由于

2 个答案:

答案 0 :(得分:5)

为什么不使用:

FileCopy(ToolFilePath,DestFilePath)

无需打开它。

答案 1 :(得分:2)

如果您不想保留原始文件,也可以使用NAME方法。

Name ToolFilePath As DestFilePath