Я пытаюсь передать параметр массива в подпрограмму VB. если я использую '()' вместе с именем массива, тогда он говорит 'Sub или Function not defined', и если он удаляется, то он выдает ошибку компилятора как «Несоответствие типа: Массив или определенный пользователем тип».как передать Array как paramenter в макросе VB
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
Я googled, но я не могу отследить точное решение для этого. Кроме того, я запутался между вариантом использования и Array(), поскольку большинство примеров, которые я видел, использовали Varaint.
Извините, если этот вопрос очень прост; Я новичок в VB и изучаю это. , пожалуйста, помогите сделать эту работу.
Спасибо заранее.
спасибо MAC. Я пробовал вышеупомянутое решение, но оно выдает ошибку компилятора, поскольку «Аргумент должен быть ByRef». Я попытался заменить ByVal на ByRef, но затем он также показывает синтаксическую ошибку в вызывающей строке: getPred (arypred, dependlink) – kousalyarajan
вы можете включить все значимые коды? @kousalyarajan ', потому что проблема может быть связана с другими частями вашего кода. – MAC
Теперь он работает нормально. Проблема заключалась в видимости переменных массива. Я применил их в процедуре, которая вызывает процедуру1, в которой вызывается gePred. Public Sub normal2D_Process (shp As Visio.Shape) ........... getPred arypred(), dependlink() End Sub Public Sub getPred (ByRef arypred() As Long, ByRef dependlink() As Long) – kousalyarajan