1
我有一个Outlook 2003 VBA应用程序,包括在特定的类像下面的代码:如何通过属性名称引用通用VBA对象变量的ItemProperty?
Sub SaveAttributes(objMail as Outlook.MailItem)
Dim Field As String
Dim SaveForLater As String
Field = "Subject"
SaveForLater = objMail.ItemProperties(Field).Value
...
End Sub
我想延长应用程序来处理MeetingItems,等等,我想修改类的代码所以:
Sub SaveAttributes(objGeneric as Object)
...
此修改生成运行时错误91,“对象变量或With未设置块”,在该行分配SaveForLater。如果我修改这一行,像这样
运行时错误消失:
SaveForLater = objGeneric.ItemProperties.Item("Subject").Value
但是,如果我修改这一行,像这样它再次出现奇特:
SaveForLater = objGeneric.ItemProperties.Item(Field).Value
为什么这些线路不同的行为?什么是通过名称引用泛型对象的项属性的正确方法,其中名称是字符串变量?
您是否尝试过使用变的字符串,而不是为你的“场”的变量? – 2011-01-22 18:33:04