Excel js 插件和 COM 对象
Excel js addin and COM object
MS 为 Excel 介绍了 JavaScript API。根据文档,它似乎也支持 Excel 的桌面版本。
对于 c# VSTO 插件,与 Excel 通信的方式是通过封送处理(COM 对象)。如果在没有适当清理的情况下获取太多 COM 对象,就会发生混乱。
那么问题来了,js addin有那些陷阱吗?更具体地说,js API 是否完全使用 COM?如果是,Windows 和 Mac 版本之间有什么区别吗?我瘦Mac没有COM的概念(有错请指正)
Office.js API 不与当前的 VBA/VSTO/COM 加载项模型共享任何 COM 遗留物。它是全新的代码,专为跨平台需求而编写。在可能的情况下(例如,Excel),绝大多数新代码实际上在桌面和在线以及 iOS 和 Mac 之间共享。对于其他主机应用程序,代码本身可能不会共享,但我们会尽一切努力确保一致性——对于新的主机特定 APIs(Word
、Excel
、和 OneNote
命名空间),一直支持实施 APIs,其中支持可以在所有主机之间统一。也就是说,如果 API 说它是 ExcelApi 1.3
的一部分,您可以保证任何支持 1.3 的 Excel 平台(桌面、iOS 等) (Office.context.requirements.isSetSupported('ExcelApi', 1.3) === true
) 将包含属于该集合的所有 API。
MS 为 Excel 介绍了 JavaScript API。根据文档,它似乎也支持 Excel 的桌面版本。
对于 c# VSTO 插件,与 Excel 通信的方式是通过封送处理(COM 对象)。如果在没有适当清理的情况下获取太多 COM 对象,就会发生混乱。
那么问题来了,js addin有那些陷阱吗?更具体地说,js API 是否完全使用 COM?如果是,Windows 和 Mac 版本之间有什么区别吗?我瘦Mac没有COM的概念(有错请指正)
Office.js API 不与当前的 VBA/VSTO/COM 加载项模型共享任何 COM 遗留物。它是全新的代码,专为跨平台需求而编写。在可能的情况下(例如,Excel),绝大多数新代码实际上在桌面和在线以及 iOS 和 Mac 之间共享。对于其他主机应用程序,代码本身可能不会共享,但我们会尽一切努力确保一致性——对于新的主机特定 APIs(Word
、Excel
、和 OneNote
命名空间),一直支持实施 APIs,其中支持可以在所有主机之间统一。也就是说,如果 API 说它是 ExcelApi 1.3
的一部分,您可以保证任何支持 1.3 的 Excel 平台(桌面、iOS 等) (Office.context.requirements.isSetSupported('ExcelApi', 1.3) === true
) 将包含属于该集合的所有 API。