我应该去与vb.net或VBA? 大多数与Excel文件工作

我开始一个新的工作 – 我的第一个 – 作为财务总监。 这个工作对于excel文件来说意味着很多,例如格式化一个文档,这样它就可以被SAP等其他财务程序导入和理解,或者用文档中的数据创build图表。 有可能是许多具体的任务,vb.net / vba可以有用的,所以我真的很擅长。

我的问题是,我应该通过Visual Studio或vba通过Excel做vb.net吗? 我的理解是你可以用excel-files来实现基本相同的事情,但也许vba更快,更容易学习和使用。 Vb.net另一方面有一个更好的IDE通过视觉工作室,学习它会给我一个知识,也可以在其他地方更有用。 它是否正确? 我希望能够从一开始就把它弄明白,而不是在一段时间后再去尝试其中的一种。

我同时使用VBA和VB.Net,所以我会build议学习。

学习VBA比学习VB.Net要容易得多,因为学习的太less了。 我发现VBA教程更容易掌握,主要是因为大多数VB.Net教程似乎更关心展示VB.net的神奇function,而不是教你使用该语言的基础知识。 一旦你有VBA在你的带,VB.Net的学习曲线不是太陡峭。

您可以使用互操作从VB.Net访问Excel工作簿,该工具可以从2003年以后的任何Excel版本读取和写入。 它可能能够访问早期版本,但我不知道谁使用早期版本,所以不能testing。 交互很慢。 如果您的程序除了处理Excel工作表之外什么都不做,那么您最好使用VBA。

VB.Net的forms比VBA有更多的控制。 如果你正试图创build一个有吸引力,灵活的,可调整的用户界面,那么VB.Net是可供select的。

VB.Net被编译成即时语言,然后在运行时将其编译为机器代码,以充分利用正在运行的机器的function。 VBA编译成在运行时解释的即时语言。 对于繁重的处理,VB.Net程序可能比VBAmacros快几千倍。

VB.Net创build可执行程序(MyProgram.exe),它可以在任何Windows机器上运行,如果需要,可以很容易地分发。 VBAmacros在Excel中运行,所以用户需要打开Excel来运行它们。

总结一下:从VBA开始,一旦掌握了语法,就尝试VB.Net。

不正确。 VBA在运行过程中速度要快得多。 所有的呼叫被编组成networking协议,以便跨进程发送。

另外,您必须使用VBA加载COM。 要使用Excel,您必须加载COM。 要将VB.NET与Excel一起使用,需要加载COM和.NET,这是一个更大的资源负载。

代码将几乎相同。