【问题标题】:VBA Excel Backup: Save copy of current workbook via VBA under a new name, keep VBA scripts, no promptVBA Excel 备份:通过 VBA 以新名称保存当前工作簿的副本,保留 VBA 脚本,无提示
【发布时间】:2013-04-04 11:38:11
【问题描述】:

我需要制作一个 VBA 脚本,它可以获取当前工作簿的完整副本并将其保存为新名称。

它需要是包含 VBA 脚本和所有内容的完整副本。

可能不会提示用户输入任何内容 - 新文件名(和位置)将由代码提供。

【问题讨论】:

标签: vba excel backup


【解决方案1】:

这样就足够了吗?

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\Data.xlsm"
Application.DisplayAlerts = True

【讨论】:

  • 当结合@Siddharth Rout 和 roger_rowland 我得到了一个工作代码。谢谢!
【解决方案2】:

试试这个:

Activeworkbook.SaveCopyAs "C:\Data.xlsm"

【讨论】:

  • 欢迎来到 StackOverflow!尽管此答案可能是正确且有用的,但如果您随附一些解释以解释它如何帮助解决问题,则最好。如果有更改(可能不相关)导致它停止工作并且用户需要了解它曾经是如何工作的,这在未来变得特别有用。
【解决方案3】:

我注意到,至少对于 Excel 2013 ActiveWorkbook.SaveAs Filename:="C:\Data.xlsm 可能无法正常工作,因为我说 excel 无法保存为文件类型 xlsm。

但是,我确实找到了适合自己的解决方法,并想在此处添加它作为可能遇到相同问题的其他人的参考。

如果您在代码后添加, FileFormat:=52,它将能够保存为xlsm 格式。

所以这对我有用:

ActiveWorkbook.SaveAs Filename:="C:\Data.xlsm, FileFormat:=52"

编码愉快!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多