我正在处理Word 2010中的一些示例代码,但是在添加10个变量后它就中断了。我现在正在尝试了解VB中的ArrayList。
If (ActiveDocument.Name = "template.docm") Then
With ActiveDocument
On Error Resume Next
.Variables.Add Name:="1", Value:="1"
.Variables.Add Name:="2", Value:="2"
我认为代码开始将对象添加到ArrayList,但是我在VBA Arraylist上阅读的所有内容都需要声明,例如:
Dim Variables As Object
Set Variables = CreateObject("System.Collections.ArrayList")
如果我遵循该模式并使用.Variables.add创建更多对象,那么索引将在10之后中断。现在,我只是在试图理解列表。
答案 0 :(得分:0)
从Vincent G.-“变量是对象Document的集合属性,而不是ArrayList,并且至少在我的系统上,添加10个变量后,变量似乎没有中断。”
这帮助我弄清楚问题不是在声明数组/集合。
我的实际问题是遍历下一个循环。我以前有:
Dim z As String
int i = 1
For Each f In myarray
.Variables(i).Value = f
i = i + 1
Next f
并且为索引变量传递的参数实际上是一个字符串
.Variables(name)
所以:
int i = 1
For Each f In myarray
z = CStr(i)
.Variables(z).Value = f
i = i + 1
Next f
解决了我的问题,感谢所有花时间帮助的人!