Ms office 办公功能区设计与VSTO

Ms office 办公功能区设计与VSTO,ms-office,vsto,Ms Office,Vsto,我知道至少有两种方法可以自定义功能区,使用at模板外接程序(如Word和功能区XML编辑器)或使用VSTO外接程序项目。还有其他方法吗 此外,我最近在一个新作业中继承了一个正在退出的VSTO功能区项目。当我浏览这个项目并仔细分析它时,我看到它真正做的就是调用VBA子例程、函数或插入一个自动文本条目。我还看到了其他令人不安的事情,比如硬编码到项目中的模板路径,嵌入到代码逻辑中的各种公司办公室位置列表,而不是从SQLServer中的表中绘制这些东西 如果您所做的只是调用VBA例程,那么通过VSTO项

我知道至少有两种方法可以自定义功能区,使用at模板外接程序(如Word和功能区XML编辑器)或使用VSTO外接程序项目。还有其他方法吗

此外,我最近在一个新作业中继承了一个正在退出的VSTO功能区项目。当我浏览这个项目并仔细分析它时,我看到它真正做的就是调用VBA子例程、函数或插入一个自动文本条目。我还看到了其他令人不安的事情,比如硬编码到项目中的模板路径,嵌入到代码逻辑中的各种公司办公室位置列表,而不是从SQLServer中的表中绘制这些东西


如果您所做的只是调用VBA例程,那么通过VSTO项目这样做有意义吗?我的意思是,如果您所做的只是调用内置例程,那么直接在全局模板中自定义ribbon不是更有意义吗?到目前为止,我还没有看到这个自定义VSTO项目所做的任何VBA自己无法完成的事情。对我来说似乎太复杂了。谢谢。

是的,您可以将自定义UI和VBA代码嵌入启用宏的文档中。请注意,VBA宏不是为在多台PC上分发解决方案而设计的。这是为了引入附加模块。无论如何,选择哪条路取决于你


我建议开发基于VSTO的应用程序级外接程序。有关更多信息,请参阅

事实上,我做了这件事,非常成功。在受控的办公环境中,您可以将每个人的启动位置指向同一位置,或者通过登录脚本将启用宏的模板复制到其本地计算机。容易的然而,这真的不是我的问题。我的问题是,如果您要做的只是调用VBA方法,即Helpers.RunMacroMyVBAFunction.FYI,那么使用VSTO项目有意义吗?这个问题没有回答。