Office VBA会发生什么?

时间:2009-01-13 23:07:30

标签: vba ms-office

我工作的公司是在Excel工作表上运行的。其中一些工作表嵌入了某种形式的VBA代码。我正在对它们进行一些维护,但感觉真的过时了。

Office VBA会发生什么?

为什么Microsoft没有为Office发布嵌入式.NET宏语言?

6 个答案:

答案 0 :(得分:9)

简短的回答:你可能已经很好了一段时间了。

答案很长:VB6(VBA真的是这个)几乎是一种死的,不受支持的语言,最后几年用同一时期的IDE更新了。它仍然存在,因为它嵌入在Office中,并且有数百万个Office应用程序在VBA被删除或更改时将停止工作。更不用说数以百万计的受害者了。

那么如何前进?可以在托管代码中重新实现Office吗?微软是否想要这样做?它们是否会比功能区实现更大的向后兼容性中断,只是放弃了宏录制和解释嵌入代码的概念?我只是看不到我的用户使用COM Interop等等在Visual Studio中使用VB.NET。

如果我不得不把钱投入到一个结果上(我甚至不想多打赌)我会看Dynamic Language Runtime以及几种语言处于各种准备状态的事实跑吧。假设使用Office应用程序COM模型的一些合适的替换或包装器的DLR将替换VB6运行时。此外,假设VBA被实现为DLR语言。现在传统的VBA将继续运行,只是在一个不同的(现代的,支持的)解释器和讨价还价,我们可以用Python,Ruby或任何其他DLR语言编程Excel宏。

但这只是我最好的猜测 - 我不知道它是否真的会发生。我当然希望能够在Ruby中编写Excel宏。

答案 1 :(得分:3)

他们是adding VBA support to the next version of Office for the Mac,所以我怀疑它会存在一段时间。

答案 2 :(得分:2)

我想说你是时候深入了解.NET。

您可以从Excel调用.NET库。

http://richnewman.wordpress.com/2007/04/15/a-beginner%E2%80%99s-guide-to-calling-a-net-library-from-excel/

答案 3 :(得分:2)

我是一名经验丰富的.NET程序员。我尝试使用Tools for Office,这很难使用,它需要你分发程序集(LOL。)财务或交付无法使用它。在点击卸载之前,我们笑得很开心。

我们尝试了Google文档,这种文档非常灵活,但仍然没有Excel宏那么强大。微软自2000年以来一直停滞不前,谷歌正在快速发展,因此几年后答案可能会有所不同。由于所有安全性无意义,VBA本身实际上 强大。

最后,我的表单中仍然有一个按钮可以执行他们想要的操作,如果他们愿意,他们可以对代码进行微小的更改。令人感到奇怪的是,VBA是我怀疑世界上所有财务部门都在使用的东西的方式。

答案 4 :(得分:2)

在出现Excel之前,VBA值得学习,因为无论您在Excel中做什么,VBA都能自动执行此操作以节省时间并减少出错的机会。您可以简单地运行代码并坐在椅子上,由VBA代码完成任务。 ...使用VBA,您可以学习SQL和Excel(如果您已经知道,那就太好了。)

答案 5 :(得分:1)

我昨天遇到了同样的想法。多么巧合。突然间,我兼职工作的老板正在寻找我3年前创建的Excel应用程序(2007年离开公司并作为兼职员工回到他们那里以增加我的全职工作)。我记得我已将其转换为MS Access 2003应用程序;但是应用程序需要更新以满足更新的要求。猜猜看,我想我已经忘记了VBA。现在不是回归并从头开始重新学习的好时机。我正在继续使用C#2.0 / 3.0。使用C#3.0重建MS Access 2003应用程序将是一次很好的学习体验,我敢肯定!

@IainMH是对的......“现在是时候深入了解.NET”