调用其他VBA工程中的过程和函数以及API函数

Posted ryueifu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调用其他VBA工程中的过程和函数以及API函数相关的知识,希望对你有一定的参考价值。

Excel VBA中,同一个应用程序下面包括多个工作簿,每个工作簿都有自己独立的VBAProject

在同一个VBA工程中,使用Call即可调用其他模块中的过程和函数,例如:

Call Module2.Proc2

要注意:Call后面必须书写模块名或过程名,而不是双引号包起来的字符串。

当然也可以使用Excel的Application.Run “Module2.Proc2”调用另一个模块中的过程。

如果要调用另一个VBA工程中的过程和函数,Call就不好使了,需要使用Run,只不过要在模块前面加上被调用的工程名称。

 

下面假设我的Excel有个加载宏“VBA引用管理工具.xlam”,它的模块ABC下面有如下代码:

 

 加载宏的ABC模块中包含一个Msg过程,一个Add函数,还有两个API函数。

然后在Excel中新建一个工作簿1,工作簿1的模块中书写代码用于调用上述几个函数:

 

 运行Test1,结果如下: 

 

Test2、Test3运行正常,结果略。  

注意:并非所有Office组件的Application均有Run方法,例如Outlook的Application没有Run方法。

 

以上是关于调用其他VBA工程中的过程和函数以及API函数的主要内容,如果未能解决你的问题,请参考以下文章

java 调用excel vba

VBA基础 - 函数和模块

使用 VBA 限制 Excel 中的地理定位 API 调用。

帆软自定义函数其他系统也要用怎么做

在VBA中如何调用过程与函数?

VBA的有参过程定义,形参用啥说明