有关如何部署和共享VSTO解决方案的最佳内容

leo*_*ora 14 excel vba vsto

通过推动利用Visual Studio和dotnet以及基于办公室的解决方案,特别是excel,哪里有关于如何使用附加二进制文件和程序集的办公表单的最佳文章或信息是可共享的.

  1. 这个外部代码是否与电子表格一起打包
  2. 如果人们开始通过电子邮件发送电子表格怎么办?这个附加组件是否有任何开销.是否存在二进制文件与电子表格分离的风险

似乎微软已经推动VSTO超过5年了,但你读了很多混合的评论和问题.我们是否正处于那些拥有大型VBA excel解决方案的公司可以完全迁移到dotnet而没有任何真正的担忧?

Gab*_*ams 24

首先,我想回答一下您的问题,即VSTO是否已为更大的实施做好准备.答案是肯定的!特别是如果替代品是VBA.您可以使用整个.Net框架,您可以使用Web服务ADO.Net(更好的是,使用企业库).您仍然可以编写看起来很像VBA的代码,但功能更强大.您可以通过阅读演练:为Excel创建第一个文档级自定义来获取更多信息. 此页面将让您了解可用的VSTO功能.

现在,回答有关部署的问题.

这取决于您是进行加载项还是文档级自定义.如果是加载项,则必须在每个客户端上安装它,并且任何传递文档都不会影响(加载项在应用程序级别,而不是在单个文档级别).

我假设您正在谈论文档级别的自定义,所以我将围绕这个问题集中讨论.

创建文档级自定义时,程序集不会加载到excel文件中(与VBA一样).相反,添加了一个文档属性,告诉应用程序该文档包含一个清单文件(并告诉它清单文件的位置).清单文件包含指向组成自定义的程序集的链接.

与任何.Net应用程序一样,有时也需要部署其他(引用的)程序集.这些程序集并不总是在GAC中,因此它们必须与执行程序集位于同一文件夹中(在本例中为自定义程序集).但是,您不必将程序集放在与excel文件相同的位置.

您可以通过多种方式部署自定义.

  1. 您可以将所有程序集和excel文件存储在一个文件夹中并以这种方式运行应用程序(如果传递excel文件,则用户必须遍历整个文件夹).
  2. 您可以运行安装程序,将程序集安装到用户计算机上的特定文件夹,并在该位置指定清单(如果传递excel文件,用户还必须传递安装程序).
  3. 您可以在网络位置安装程序集并在文档属性中指定清单和程序集都在该网络位置(如果传递excel文件,则不需要传递任何内容 - 但是有安全性需要进行的设置.阅读此页面以获取更多信息).

您决定执行此操作的任何方式,此处是您需要阅读的页面,以便了解启用自定义的文档属性.

您需要确保所有用户都已安装必备组件.最简单的方法是给他们所有的安装程序.如果为自定义创建安装项目,则可以设置引导程序以自动安装必备组件.如果使用ClickOnce安装自定义,也可以执行此操作. 此页面将为您提供有关部署所需的所有信息.

以下是您需要查看的其他一些有用链接:

我希望这有帮助.一旦你阅读了所有这些信息,我想你会同意VSTO是一个比VBA更好的选择.您只需要仔细规划部署.