我有一个字符串数组:
Dim sArray(4) as String
我正在遍历数组中的每个字符串:
for each element in sarray
do_something(element)
next element
do_something
接受一个字符串作为参数
我收到一个错误,将元素作为字符串传递:
ByRef 参数不匹配
我应该将元素转换为字符串或其他东西吗?
Element 需要是一个变体,所以你不能将它声明为一个字符串。你的函数应该接受一个变体,如果它是一个字符串,但只要你传递它 ByVal。
Public Sub example()
Dim sArray(4) As string
Dim element As variant
For Each element In sArray
do_something (element)
Next element
End Sub
Sub do_something(ByVal e As String)
End Sub
另一种选择是在传递变量之前将其转换为字符串。
do_something CStr(element)
由于 sArray 为空,这将什么都不做?!?!
@EdwardBlack - 他只给出了与讨论相关的代码片段。推测 sArray 的维度和 For Each 循环之间的附加代码实际上会定义它。但是如何定义它对于这个问题并不重要。