在不干扰数据本身的情况下更新 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 和以此类推,直到达到最新版本)
希望对您有所帮助
我使用 VSTO 为 Excel 构建了一个插件,并将其部署到...
现在我有一个更新版本(其中有一些新的工具栏控件、一个新的列和一些行为中修复的错误)。
我的问题是我的客户使用的是以前的版本,正在 sheet.
中填充他的数据如何更新 VSTO 加载项并迁移数据?
感谢您的帮助
嗯,这取决于您创建加载项的方式。加载项不会与任何工作簿(不同于 document level customization)耦合,除非您这样做。
基本上您只需更改您的代码,部署一个新版本,您的客户端就会安装它。当 Excel 启动时,将使用新版本,因此如果功能区上有按钮,该按钮现在将使用新版本。
如果您出于任何原因使加载项与特定工作簿(格式)紧密耦合,您将不得不处理它。 因此,例如,如果新版本现在需要新的数据布局,您要么要求客户手动更改它,要么编写一个函数来为他们做这件事。
示例:我们有一个 VSTO Word 加载项可以执行很多操作,该加载项使用的模板版本类似于 (1, 2, 3, 4 .. .) 当我们更改模板(例如添加样式、添加形状、删除形状等)时,我们还维护一个在打开文档时触发的递归更新方法. 该方法是检查模板的版本与代码中硬编码的版本,比较,如果模板版本较旧将触发更新功能(逐步,所以从 v1 到 v2 然后 v2 到 v3 和以此类推,直到达到最新版本)
希望对您有所帮助