爲XLS,XLSX和XLSM編寫的宏之間是否存在兼容性問題?相同的宏是否適用於所有工作簿?爲XLS,XLSX和XLSM編寫的宏之間是否存在兼容性問題?
回答
有這些格式之間顯著差異:
.XLS
旨在用於Excel 2003和以上的,所以你的VBA代碼需要向後兼容爲早期版本的Excel(< 2007).XLSX
是Excel 2007格式,無法存儲VBA代碼。.XLSM
或.XLSB
是Excel 2007格式,允許您將保存VBA代碼與工作簿。正如Sydenam所說,這兩者之間的區別在於工作簿的存儲方式。
簡而言之:.XLSB
是二進制格式(相當於.XLS
爲2007+版本),而.XLSM
是OOXML格式。
有關更多信息,請參閱When should the xlsm or xlsb formats be used?。
附錄的向後兼容性
我看不出有什麼簡單的方法來告訴你如何可以向後兼容,我們不能是通用。您可以在Ozgrid在Excel 2007中添加的您還可以找到here新的方法和屬性上看到如何在Excel 2007中開發
的Ozgrid頁面會給你新元素的Excel 2007中的一些技巧然後會告訴你如果你想向後兼容你不應該使用什麼。
見JMAX對的是在Excel 2003
一般可用方法的列表響應,你應該寫的Excel最低版本的代碼,你願意支持。例如:如果您支持Excel 2000-2010,則應爲Excel 2000編寫代碼。
但請記住,某些方法可能會在以後的版本中被棄用。
例如,我會避免使用FileSearch共(在Excel 2007中不推薦使用),並使用迪爾代替。
您的代碼還應該測試本地Excel版本,並根據版本使用條件編譯。
有關條件編譯的幫助,請參見Using Conditional Compilation。
還要記住,XLSX文件不能保存宏。因此,如果它們包含宏代碼,則不應以這種格式保存文件。
+1用於指出'FileSearch'函數大小寫。 MS說這是bug,所以他們在Excel 2007+中刪除它,這可能會很棘手! – JMax
- 1. Excel 2013與2016之間的宏是否存在任何兼容性問題
- 2. 解析Node.js中的xls/xlsx/xlsm
- 3. EXCEL xlsm另存爲xlsx
- 4. 我在NSArray和NSMutableArray之間的兼容性遇到問題?
- 5. json是否有兼容性問題?
- 6. 在XLS和XLSX中使用Excel宏
- 7. 與Excel 2003和2007之間的數據查詢存在兼容性問題
- 8. java 1.5和java 1.6之間的java.sql.Connection兼容性問題
- 9. 8.15和8.70之間的Ghostscript兼容性問題
- 10. solr和hadoop之間的Slf4j兼容性問題
- 11. 版本4.0和4.5之間的VB.NET兼容性問題
- 12. IE6和IE11之間的兼容性問題
- 13. gnuplot 4.1和4.6之間的兼容性問題
- 14. H2 DB查詢和SQL Server之間的兼容性問題
- 15. VS2010,Pex和SlimDX之間的兼容性問題
- 16. IE7和IE8之間的兼容性問題
- 17. 兼容性問題是IE10
- 18. Excel 2007和Excel 2010或更新版本之間的VBA是否存在兼容性問題?
- 19. 編譯器之間的Dll兼容性
- 20. 動態UI inlcude和P之間是否存在不兼容性:SelectOneMenu
- 21. Excel宏將xlsx轉換爲xls
- 22. javax.security.cert.X509Certificate和java.security.cert.X509Certificate之間的不兼容性
- 23. GCC和LLVM之間的兼容性
- 24. NLTK和Lucene之間Stemmers的兼容性
- 25. Protobuf和Protostuff之間的兼容性
- 26. Doxygen和DocBlox之間的兼容性
- 27. React.JS和java之間的兼容性
- 28. Crc32 .NET和php之間的兼容性
- 29. iPhone/iPad和Phonegap之間的兼容性
- 30. Unity 5.6.1f1和VS之間的兼容性
我認爲你通過關注文件名而不是提到Office版本之間的向後兼容性來混淆人。如果你重新回答你的問題,你可能會得到更合適的答案。 – JimmyPena
@JP謝謝:) – kinkajou