如何在不丢失宏的情况下将 .xlsm 转换为 .xls?

如何在不丢失宏的情况下将 .xlsm 转换为 .xls?

我有一个带有宏的 excel 文件 (.xls),但这不是我创建的。我按下 Alt+F11 并尝试展开 VBA 项目,但弹出“输入密码”提示。而且宏似乎可以正常工作。

另一方面,我有另一个启用了宏的 Excel (.xlsm),我无法将此文件保存为 .xls 并保留宏。

可以这样做吗?将文件转换为启用宏的 .xls 吗?

我有 MS Office 2010 和 MS Office 2016 两个版本。

我希望文件采用 .xls 文件格式,以便我的文件处理库 NPOI 可以从我的 ASP.net MVC 应用程序读取和写入文件。我不能使用其他可以处理 .xlsm 文件的库。

我面临的警告: 在此处输入图片描述

答案1

如果您想以旧的*.xls格式保存*.xlsm文件,您需要在另存为对话框中选择适当的文件类型。

在此处输入图片描述

Excel 97-2003 工作簿不会对启用宏的文件使用不同的文件扩展名,并且文件中的所有 VBA 都将保留。请注意,如果您在较新的文件中使用旧版本无法解释的功能,则可能会丢失功能。

发布截图后进行编辑:

第一个警告与数据验证有关。第二个警告是其他内容,但肯定与 VBA 无关。您的 VBA 将进入 .xls 文件,您需要运行它以查看代码是否存在问题。这两个版本之间的 VBA 命令变化不大,因此代码可能会运行良好。

相关内容