0

我正在检索以前由我的代码在 MailItem 中添加的自定义属性。

我正在使用 Outlook 2010 测试此 VBA 代码。

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 为“操作失败”并引发异常。

我遇到了这个问题,因为我将循环类型从 For Each 更改为 inversed for。

4

1 回答 1

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 
于 2013-08-08T14:13:07.883 回答