在不干扰数据本身的情况下更新 VSTO Excel 工作簿

Update VSTO Excel workbook without interfering with the Data itself

我使用 VSTO 为 Excel 构建了一个插件,并将其部署到...

现在我有一个更新版本(其中有一些新的工具栏控件、一个新的列和一些行为中修复的错误)。

我的问题是我的客户使用的是以前的版本,正在 sheet.

中填充他的数据

如何更新 VSTO 加载项并迁移数据?

感谢您的帮助

嗯,这取决于您创建加载项的方式。加载项不会与任何工作簿(不同于 document level customization)耦合,除非您这样做。

基本上您只需更改您的代码,部署一个新版本,您的客户端就会安装它。当 Excel 启动时,将使用新版本,因此如果功能区上有按钮,该按钮现在将使用新版本。

如果您出于任何原因使加载项与特定工作簿(格式)紧密耦合,您将不得不处理它。 因此,例如,如果新版本现在需要新的数据布局,您要么要求客户手动更改它,要么编写一个函数来为他们做这件事。

示例:我们有一个 VSTO Word 加载项可以执行很多操作,该加载项使用的模板版本类似于 (1, 2, 3, 4 .. .) 当我们更改模板(例如添加样式、添加形状、删除形状等)时,我们还维护一个在打开文档时触发的递归更新方法. 该方法是检查模板的版本与代码中硬编码的版本,比较,如果模板版本较旧将触发更新功能(逐步,所以从 v1 到 v2 然后 v2 到 v3 和以此类推,直到达到最新版本)

希望对您有所帮助