如何在 VB 宏中将数组作为参数传递
how to pass Array as paramenter in VB macro
我正在尝试将数组参数传递给 VB 子过程。如果我将“()”与数组名称一起使用,那么它会显示 'Sub or Function not defined' 如果它被删除,则会抛出编译器错误“类型不匹配:需要数组或用户定义的类型”。
Dim arypred() As Long
Dim dependlink() As Long
Main Sub()
.....
getPred arypred(), dependlink() 'Call to the sub procedure getPred
End Sub
Public Sub getPred(arypred() As Long, dependlink() As Long)
....
End Sub
我在谷歌上搜索过,但我无法为此找到确切的解决方案。另外,我对变体用法和 Array() 感到困惑,因为我看到的大多数示例都在使用 Varaint。
如果这个问题很基础,我们深表歉意;我是 VB 的新手,正在学习它..
请帮助完成这项工作..
提前致谢。
这样做
Sub Main()
Dim arypred() As Long = Nothing
Dim dependlink() As Long = Nothing
getPred(arypred, dependlink)
End Sub
Public Sub getPred(ByVal arypred() As Long, ByVal dependlink() As Long)
End Sub
传递数组时不必包含 ()
符号,并确保在声明时为数组分配初始值。首先,分配 nothing
.
建议:
如果您想在调用 getPred
方法后获取一个值,请使用 Public Function
代替 return 一个值。如果该方法仅在 class 中使用,则使用 Private
而不是 Public
除非它是一个模块。如果您希望两个变量(arypred 和 dependlink)在执行 getPred
方法后都为 return 新值,请使用 ByRef
而不是 ByVal
。有关 ByRef 和 ByVal 的更多信息,click here and here.
我正在尝试将数组参数传递给 VB 子过程。如果我将“()”与数组名称一起使用,那么它会显示 'Sub or Function not defined' 如果它被删除,则会抛出编译器错误“类型不匹配:需要数组或用户定义的类型”。
Dim arypred() As Long
Dim dependlink() As Long
Main Sub()
.....
getPred arypred(), dependlink() 'Call to the sub procedure getPred
End Sub
Public Sub getPred(arypred() As Long, dependlink() As Long)
....
End Sub
我在谷歌上搜索过,但我无法为此找到确切的解决方案。另外,我对变体用法和 Array() 感到困惑,因为我看到的大多数示例都在使用 Varaint。
如果这个问题很基础,我们深表歉意;我是 VB 的新手,正在学习它.. 请帮助完成这项工作..
提前致谢。
这样做
Sub Main()
Dim arypred() As Long = Nothing
Dim dependlink() As Long = Nothing
getPred(arypred, dependlink)
End Sub
Public Sub getPred(ByVal arypred() As Long, ByVal dependlink() As Long)
End Sub
传递数组时不必包含 ()
符号,并确保在声明时为数组分配初始值。首先,分配 nothing
.
建议:
如果您想在调用 getPred
方法后获取一个值,请使用 Public Function
代替 return 一个值。如果该方法仅在 class 中使用,则使用 Private
而不是 Public
除非它是一个模块。如果您希望两个变量(arypred 和 dependlink)在执行 getPred
方法后都为 return 新值,请使用 ByRef
而不是 ByVal
。有关 ByRef 和 ByVal 的更多信息,click here and here.