未通过NotesViewNavigator循环设置对象变量

时间:2014-03-11 08:14:23

标签: lotusscript

我尝试遍历视图中的所有ViewEntries。循环到某些文档后,当我想设置“docOrder”文档时,我收到错误消息“对象变量未设置”。

调试代码显示ViewNavigator中有文档的删除存根(不明白为什么?)。当删除存根到位时,将显示错误消息。

这是LS-Script Agent的代码片段:

 Call vwDelete.Refresh()
 vwDelete.AutoUpdate = False
 Set navOrders = vwDelete.createViewNav()
 Set veOrder = navOrders.getFirstDocument()

 While Not veOrder Is Nothing
    Set docOrder = veOrder.Document
        //do something
    Set veOrder = navOrders.getNextDocument(veOrder)
 Wend

我知道我可以使用If语句检查“文档是否无效”,但我很好奇为什么ViewNavigator中存在删除存根。这是指数问题?有什么想法吗?

1 个答案:

答案 0 :(得分:3)

来自NotesViewEntry

的文档
  

如果在创建包含该文档的ViewEntryCollection后删除文档,则导航到已删除文档的结果将是一个ViewEntry,可用于导航到下一个条目,但仅此而已。除IsValid之外,此类ViewEntry上的所有属性或方法都将返回错误。如果您确定ViewEntryCollection中没有任何文档被删除,则无需检查此属性;否则,应该检查。

您不想检查is nothing。您想查看if vOrder.isValid()