无法从ItemProprieties outlook中检索值:操作失败

时间:2013-08-08 14:00:23

标签: outlook outlook-2007 outlook-2010 outlook-vba outlook-2003

另一个我无法弄清楚的问题。我正在检索以前由我的代码在MailItem中添加的自定义属性。我目前正在测试outlook 2010,它就像那样直接

Dim mailIndex
 For mailIndex = objFolder.Items.Count To 1 Step - 1
  Dim property1
  Set property1 = GetMigrationProperty(objFolder.Items(mailIndex).ItemsProprieties)
  '... code goes on
  Next 

在循环的第二次迭代之后,property1.Value为“Operation Failed”并抛出异常。为什么呢?

PS:我有这个问题,因为我将For Each的循环类型更改为

的反转

1 个答案:

答案 0 :(得分:2)

哎哟!这是你的真实代码吗?这是多点点符号。

在进入循环之前缓存Items变量,并且每次迭代只调用一次Items(index):

set Items = objFolder.Items
For mailIndex = Items.Count To 1 Step - 1
  Dim property1
  set Item = Items.Item(mailIndex)
  Set property1 = GetMigrationProperty(item.ItemsProprieties)
  '... code goes on
  set item = Nothing
Next