首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Excel 4宏转换为VBA

将Excel 4宏转换为VBA
EN

Stack Overflow用户
提问于 2008-09-18 08:08:37
回答 4查看 5.4K关注 0票数 6

我有一个旧的Excel 4宏,我用它来运行每月发票。它大约有3000行,有许多Excel 5对话框工作表(用于对话框)。我想知道将其更改为VBA的最简单方法是什么,以及它是否值得。另外,如果我将其转换为VBA后,如何在其中创建独立的应用程序?

EN

回答 4

Stack Overflow用户

发布于 2008-09-18 08:52:53

我之前已经尝试过了,最后你确实需要像Biri所说的那样重写它。

当我们公司从Windows NT升级到Windows XP时,我做了相当多的这方面的工作。我经常发现,完全不查看旧代码,从头开始更容易。你可以花很多时间试图弄清楚Excel4做了什么,尤其是围绕着“奇怪的”对话框符号。最后,如果你知道输入是什么,输出是什么,那么重写往往会更有效率,更干净。

在某些方面,是否使用VBA是另一个问题,但是VBA相当强大和可扩展,所以尽管在许多情况下我更喜欢使用其他工具,如.NET,但它工作得很好,而且易于部署。

这是否值得呢?如果你可以说你再也不需要改变你的Excel4宏了,那么也许就不需要了。但在商业中,总会有一些事情发生变化,比如税率,特别是年终的事情。考虑到很难找到支持Excel4的人,甚至找到关于它的文档,我想说不迁移到VBA是有风险的,但这是需要权衡的。

票数 6
EN

Stack Overflow用户

发布于 2011-09-28 03:43:03

(免责声明:我开发了Excel-DNA库)

与其将宏移到使用COM自动化对象模型的VBA中,不如将其移到与Excel-DNA库一起运行的VB.NET (或C#)中。

Excel-DNA允许您使用C API,它与宏语言非常相似。对于每个宏命令,就像对话框一样,都有一个接受相同参数的C API函数。例如,DIALOG.BOX的等价物是xlfDialogBox -在这个主题中有一些讨论和示例:http://groups.google.com/group/exceldna/browse_thread/thread/53a8253269fdf0a5

这样做的一大好处是,您可以逐步更改代码的一部分,以使用COM自动化接口- Excel-DNA允许您混合和匹配COM接口和C API。

票数 3
EN

Stack Overflow用户

发布于 2008-09-18 08:17:02

AFAIK没有可能以某种方式转换它。基本上,您必须在VBA中重写。

如果已转换为VBA,则不能作为独立应用程序运行。正如VBA所说的Visual Basic for Application,它生活在应用程序(Word、Excel、Scala等)中。

您必须学习一种标准语言(而不是宏语言)来创建独立的应用程序。但你必须学到比语言本身更多的东西。您必须学习不同的技术,例如数据库处理而不是Excel工作表处理,打印而不是Excel打印,等等。所以基本上你会失去很多功能,这是很明显的,如果你使用Excel。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/90858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档