适用于 3 类 的代码:MailItem、AppointmentItem 或 MeetingItem

Code good for 3 classes: MailItem, AppointmentItem or MeetingItem

我的意思是编写将同样适用于 class(类型)MailItemAppointmentItemMeetingItem 的对象 olObj 的代码。我将使用的属性是所有 classes 共有的属性(例如,Subject)。

根据this,他们没有基础class。尽管如此,似乎可以在 C# 中对此做一些事情。

除了为每个 class 重复代码外,在 VBA 中有没有办法做到这一点?

使用后期绑定(将项目声明为通用对象)访问公共属性,例如主题。可以通过首先检查 Class 属性 来访问项目类型特定的属性(由所有 OOM 对象公开)

olMail = 43
olAppointment = 26
olMeetingRequest = 53
olMeetingCancellation = 54  
olMeetingResponseNegative = 55
olMeetingResponsePositive = 56
olMeetingResponseTentative = 57