使用Visual Studio而不是内置在VBA编辑器中

时间:2016-08-09 23:42:02

标签: visual-studio excel-vba vsto text-editor vba

我正在寻找关于使用Visual Studio进行编码而不是使用Excel内置文本编辑器进行编码的优点和缺点的解释。

2 个答案:

答案 0 :(得分:2)

从我的角度来看

如果您

,请使用VBA编辑器(VBE)
  • 为自己,朋友开发临时应用
  • 是唯一一个参与项目的人
  • 主要使用Office对象模型 - 不与系统,Web,数据库等通信。
  • 请勿使用源代码管理(注意:如果您这样做,Rubberduck可以提供帮助)
  • 请勿在参考表格中包含太多dll
  • 不想学习新平台(.NET)

注意,我完成了以上所有操作,并且我可以长时间使用VBA而没有太多问题,并且在某些方面VBA比VSTO好得多,例如:在调试中(这里我的意思是,当你调试VBA时你几乎可以改变一切,你仍然可以继续,在VSTO中没有办法做同样的事情)

如果您

,请使用VSTO
  • 希望更好地支持系统,Web,XML,数据库任务。 NET是 更好的,特别是如果我们谈论网络或数据库 东西

  • 希望获得更好的版本控制支持(开箱即用) (GIT,SVN,TFS,Perforce)

  • 不会因为依赖关系而遇到问题(这可能是 实际上也是痛苦的)

  • 想要使用像NamedRange这样的新VSTO对象。事件

  • 想要学习新平台

几年前,当我认为VSTO为Office对象模型带来一些新东西时,我记得很清楚,如果你不计算VSTO对象,它就没有了。因此,如果您只使用Excel对象模型(使用范围,工作表,工作簿,计算进行操作),您仍然只能使用VBA。 我还记得,使用VSTO,您不能轻松 create UDF(自定义功能)

似乎MS不会投入太多精力来添加/更新/改进VSTO,他们更专注于Office API

VSTO blog - comments

  

感谢您提出的问题Ben,我们已经公开宣布,我们不会在下一版Office中关闭VSTO或VBA。我们所有的新投资都在Office for Office和Apps for SharePoint中,使Office 365 API更加强大。 我们不会对VSTO或VBA进行任何未来投资

看起来我可能反对VSTO,但我不是,我每天使用它超过4年,只是为了快速测试或快速项目而返回VBA。 / p>

希望这有帮助

答案 1 :(得分:1)

从开发语言来看,Excel Editor是VBA,VS是C#/ VB.NET。如果你有一个轻量级功能,你可以直接使用VBA,如果你有一个很大的要求,.NET / VSTO是合适的,在VS,.NET管理你的代码会很方便.VSTO是托管代码,它的性能是比VBA好。使用VSTO,您可以自定义Office UI。从分发项目开始,您需要在启用宏的情况下复制office文件。您可以使用ClickOnce或Windows安装程序来分发.net / VSTO解决方案。