当试图访问一个不存在的对象时,就会产生“所要求的集合成员不存在”错误。例如,如果活动文档中不包含任何表格,则下列指令可能导致出错。
Sub SelectTable()
ActiveDocument.Tables(1).Select
End Sub
若要在访问集合成员时避免这种错误,需在访问前确认该成员存在。如果通过索引序号访问该成员,可使用 Count 属性判定该成员是否存在。如果活动文档中包含至少一张表格,则下列示例选定第一张表格。
Sub SelectFirstTable()
If ActiveDocument.Tables.Count > 0 Then
ActiveDocument.Tables(1).Select
Else
MsgBox "Document doesn't contain a table"
End If
End Sub
如果通过名称访问集合成员,可使用 For Each...Next 在集合元素中进行循环,以判定该成员是否为集合的一部分。例如,如果名为“acheive”的“自动更正”词条是 AutoCorrectEntries 集合的一员,则下列示例将该词条删除。详细信息,请参阅循环遍历一个集合。
Sub DeleteAutoTextEntry()
Dim aceEntry As AutoCorrectEntry
For Each aceEntry In AutoCorrect.Entries
If aceEntry.Name = "acheive" Then aceEntry.Delete
Next aceEntry
End Sub