我的一位客户要求我们开发“VBA宏”。然而,在2010年代,我仍然使用这种过时的语言似乎很奇怪,我正在考虑试图说服客户使用VSTO dev。但是,由于我是两个世界的新手,我需要帮助填写赞成/反对页面才能辩论。
当然,答案不能没有实际要求,让我试着恢复:
目标:Word 2003/2007(但我怀疑2010年尚未知的要求) 编辑 2010年要求已确认
外部发布系统需要 .doc 文件作为输入。 .doc 文件必须应用一些特定样式:“自定义标题1”,“自定义标题2”等。
用户可以使用Word以两种可能的方式构建文档:
- 使用部署在计算机上的.dot文件启动新文档
- 转换任何现有文档以匹配目标模板
醇>用户可以“简单地”(简单的用户界面)“应用”样式:上下文菜单,样式菜单,自定义操作窗格等。
到目前为止,我看到以下优点:
VBA
VSTO
答案 0 :(得分:3)
我对.NET不够熟悉,但这是我对VBA的拙见:
<强> VBA 强>
我想说如果你只想要一些代码或加载项来合并一些syles,你可以轻松地用VBA 来做它并且它不会很脏(除非你真的想要它来)。
答案 1 :(得分:2)
随着项目的完成,我正在回答这个问题。
我最终决定使用VBA宏编写应用程序。以下是此选择的验尸结论:
作为一名经验丰富的C#开发人员,优点/缺点可能有点偏。
答案 2 :(得分:1)
我是一个沉重的Excel VBA开发人员。
VBA专业版: 我从VBA切换到VSTO的主要障碍之一 - 相信我,我喜欢C#编码 - 就是我的用户群已经习惯了没有即时调试。我经常直接跳到用户PC上的VBA问题,但是使用VSTO时,这是不可能的。 (除非有人能纠正我。)
如果您的用户没有这样的期望,那么这可能是您可以轻松实现的。
VBA con: VBA是易于使用的语言之一,因此很容易弄乱。它没有强制执行“清晰编码”原则,这意味着虽然体面的程序员可以使用它们制作出色的应用程序,但由于其低进入条件,VBA可能会与hackjobs和庞大的有机代码相关联。由于这个原因,VBA开发人员通常被认为是较低级别的开发人员,而实际上无法区分明智地使用它和不使用它的那些。
我怀疑是否有人选择VBA作为他们选择的职业语言,它只是发生在他们身上。除了难以找到技术熟练的开发人员之外,过多的VBA工作可能会削弱潜在的雇员,因为他们不想与“另一个无管理的VBA蔓延的泥潭”联系在一起。有些人利用VBA作为关于技术“严肃”程度的陈述。
(我倾向于以同样的方式看待Perl;非常适合短脚本,但是当曾经用于编写脚本的人开始使用更大的工作时 - 你往往会得到一些有点笨拙的东西。)
答案 3 :(得分:1)
在这个article中,我试图在Excel的背景下总结类似的问题。相同的参数适用于所有Office应用程序,包括word。
答案 4 :(得分:0)
根据我的观察: VSTO: 缺点:如果我们为word 2007开发了Addins色带控件,我们只能使用word 2007进行部署,但我们无法使用word 2010或word 2013进行部署。 这是我为2007,2010和2013年所有版本开发Addins for word和excel的主要缺点。如果错误或者建议我如何为所有办公室版本开发单个插件,请纠正我。