在VBA中如何调用过程与函数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在VBA中如何调用过程与函数?相关的知识,希望对你有一定的参考价值。
一、直接调用或者call 过程名 call 函数名就可以了,比如
Private Sub CommandButton1_Click()
MsgBox "你调用了CommandButton1_Click过程"
End Sub
Private Sub CommandButton2_Click()
Call CommandButton1_Click
End Sub
二、如果有参数的话需要带上参数,比如
Private Sub CommandButton1_Click()
Call MsgStr("这是过程/函数调用示例")
End Sub
Sub MsgStr(str As String)
MsgBox str
End Sub
扩展资料:
输入值的集合X被称为f的定义域;可能的输出值的集合Y被称为f的值域。函数的值域是指定义域中全部元素通过映射f得到的实际输出值的集合。注意,把对应域称作值域是不正确的,函数的值域是函数的对应域的子集。
计算机科学中,参数和返回值的数据类型分别确定了子程序的定义域和对应域。因此定义域和对应域是函数一开始就确定的强制进行约束。另一方面,值域是和实际的实现有关。
参考资料来源:百度百科-函数
参考技术A 直接调用或者call 过程名 call 函数名就可以了,比如Private Sub CommandButton1_Click()
MsgBox "你调用了CommandButton1_Click过程"
End Sub
Private Sub CommandButton2_Click()
Call CommandButton1_Click
End Sub
效果:如果有参数的话需要带上参数,比如
Private Sub CommandButton1_Click()
Call MsgStr("这是过程/函数调用示例")
End Sub
Sub MsgStr(str As String)
MsgBox str
End Sub
效果 参考技术B 方法一: call 函数(过程)名
方法二: 函数(过程)名本回答被提问者采纳
ExcelVBA如何调用API DLL(Delphi生成)
Public Declare Function plock Lib "passzy.dll" (ByVal s As String) As Boolean
Declare Function punlock Lib "passzy.dll" (ByVal s As String) As Boolean
在excel中执行的时候,提示第一行错误:编译错误,常数、固定长度字符串…………
我的delphi中声明:(DLL中包含窗体,其它没什么特别的了)
function punlock(s:pchar):boolean; stdcall;
function plock(s:pchar):boolean; stdcall;
编译好的dll,用delphi本身是可以完美调用的。
另外这个DLL无法regsvr32.exe注册,无法用VBA引用。请问我应该怎么做?
(已经解决了,无满意答案)Public改成Private就可以调用了,另外VBA的boolean与Delphi类型格式不一样,传递无意义,必须用整形、浮点或字符串。改成long对integer后完美运行
这里有详细说明和修改文件下载
以上是关于在VBA中如何调用过程与函数?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 VBA 的另一个函数中调用我在 VBA 中创建的函数?