arrays - VBA Word 如何将数组的一部分传递给子程序?
问题描述
我想将数组的一部分传递给子程序!
Sub main()
Dim i(10) As Byte
Dim j As Integer
For j = LBound(i) To UBound(i)
i(j) = j
Next
Call subr(i())
End Sub
Sub subr(i() As Byte)
Dim j As Integer
For j = LBound(i) To UBound(i)
Debug.Print i(j)
Next
End Sub
此示例将整个数组传递给subr并打印它。
我想要这样的东西(这不起作用):
Call subr(i(L_index to U_index))
L_index和U_index确定要通过的范围。
解决方案
这样做的唯一方法是复制您感兴趣的数组的跨度,而不是传递数组和范围:
Call subr(i(), 3, 5)
Sub subr(arr() As Byte, startIndex As Long, endIndex As Long)
For i = startIndex To endIndex
Debug.Print arr(i)
Next
End Sub
推荐阅读
- linux - linux查找目录或文件名包含文本的所有文件
- java - 在 Java Web App 中实现 MSAL 的出发点是什么?
- python - clang-llvm ver 11.0.0 python 绑定似乎不匹配
- flutter - 如何对颤动中的对象列表进行排序?
- indexing - Bigquery:查找在数组中第一次找到指定元素的索引
- floating-point - 浮点数转十进制数
- javascript - 查找字符串中是否有任何字母,如果有则返回 false
- class - 在这种情况下,如何使用 UML 对数据进行建模?
- amazon-web-services - 是否可以在 CodePipeline 中订购 Source 操作?
- wordpress - 我可以为可变产品添加图像吗