XLS、XLSX和XLSM文件中的宏之间是否存在兼容性问题?同一个宏是否适用于所有工作簿?
这些格式之间存在显著区别:
.XLS
适用于Excel 2003及以上版本,所以你的VBA代码需要向后兼容更早的Excel版本(<2007)。.XLSX
是Excel 2007格式,不能存储VBA代码。.XLSM
或 .XLSB
是Excel 2007格式,允许你在工作簿中保存VBA代码。正如Sydenam所说,这两者之间的区别在于工作簿的存储方式。简而言之:.XLSB
是二进制格式(相当于2007+版本的.XLS
),而.XLSM
是OOXML格式。
有关更多信息,请参见何时应该使用xlsm或xlsb格式?。
向后兼容的附加说明
我没有看到任何简单的方法来告诉您如何实现向后兼容,我们不能过于泛泛而谈。您可以在Ozgrid上查看Excel 2007中添加的新方法和属性。您也可以在这里找到一些关于如何在Excel 2007上开发的提示。
Ozgrid页面将为您介绍Excel 2007的新元素,然后告诉您如果希望向后兼容,应该不使用哪些元素。
Excel使用Visual Basic for Applications(VBA)来编写宏。不同文件类型之间的主要区别在于数据存储方式(编辑和重要的XLSX无法保存宏,在问题中的格式中,XLSM和XLS可以在工作簿中保存宏)。它是Excel和VBA处理宏,因此在这三种文件格式之间运行没有问题。
XLSX
无法存储 VBA。 - JMax