excel - 在 Excel 中复制并重命名未打开的工作簿

标签 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 扩展名。

我哪里出错了?

谢谢

最佳答案

为什么不直接使用:

FileCopy ToolFilePath, DestFilePath

无需打开它。

关于excel - 在 Excel 中复制并重命名未打开的工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182365/

相关文章:

excel - 定义返回空白的自定义 VBA 函数

xml - 创建 Excel 格式的 XML

excel - 如何从真实日期中去除时间?

excel - 使用 vlookup 或索引/匹配函数对多行中的值求和

vba - 使用单元格值(日期)导入文本文件

VBA 不能引用在代码之前存在的工作表中的范围

java - 在更改 Excel 中其他单元格值时更改单元格值 [通过 Apache POI 进行数据验证]

excel - 插入行而不向下移动公式

excel - 选择文件夹路径 - 不读取所选文件夹中的文件

arrays - 构建和比较数组