从 Excel 2007 开始,Excel 工作簿的默认文件扩展名为 .xlsx
,但不能保存宏。如果您的工作簿包含宏,然后您将工作簿另存为 .xlsx
文件,则所有 VBA 代码都会自动删除。幸运的是,将包含宏的工作簿另存为 .xlsx
文件时,Excel 会警告您它将删除宏的内容。如果要保留宏,则必须将文件另存为【启用宏的工作簿】,即文件扩展名为 .xlsm
。Excel 这样做的目的是,所有带有 .xlsx
文件扩展名的工作簿都被自动视为安全的,而 .xlsm
文件具有潜在威胁。
另存为启用宏的工作簿
- 单击【文件】选项卡,然后选择【另存为】,打开【另存为】对话框。
- 在【保存类型】下拉列表里选择一个启用宏的工作簿,通常选择【Excel 启用宏的工作簿(*.xlsm)】。
- 在【文件名】框里键入工作簿名称。
- 单击【保存】。
保存宏的文件格式
下表列出了 Excel 2007 及更高版本支持宏的文件格式。在 Excel 2007 及更高版本为了兼容 Excel 2003 或更早版本而保留的文件格式(.xls
、.xla
、.xlt
)仍然可以用于保存 VBA 代码和 Excel 4.0 宏工作表。了解详细的 Excel 支持的文件格式。
扩展名 | 文件格式名称 | 说明 |
---|---|---|
.xlam | Excel 加载宏 | Excel 2021、Excel 2019、Excel 2016、Excel 2013 和 Office Excel 2007 的基于 XML 和启用了宏的Add-In格式。外接程序是用于运行其他代码的补充程序。支持 VBA 项目和 Excel 4.0 宏工作表 (.xlm)。 |
.xlsb | Excel 二进制工作簿 | Excel 2021、Excel 2019、Excel 2016、Excel 2013 和 Excel 2010 和 Office Excel 2007 的二进制文件格式。这是一个可以快速加载和保存的文件格式,适用于需要以最快方式加载数据文件的用户。支持 VBA 项目、Excel 4.0 宏工作表以及 Excel 中使用的所有新功能。但是,这不是 XML 文件格式,因此在不使用 Excel 2021、Excel 2019、Excel 2016、Excel 2013、Excel 2010 或 Excel 2007 和对象模型的情况下访问和操作内容不是最佳选择。 |
.xlsm | Excel 启用宏的工作簿 | Excel 2021、Excel 2019、Excel 2016、Excel 2013、Excel 2010 和 Office Excel 2007 的基于 XML 且已启用宏的文件格式。存储 VBA 宏代码或 Excel 4.0 宏工作表 (.xlm)。 |
.xltm | Excel 启用了宏的模板 | Excel 2021、Excel 2019、Excel 2016、Excel 2013、Excel 2010 和 Office Excel 2007 的 Excel 模板的启用了宏的文件格式。存储 VBA 宏代码或 Excel 4.0 宏工作表 (.xlm)。 |