Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 代码适用于3类:MailItem、AppointmentItem或MeetingItem_Vba_Class_Outlook_Derived Class - Fatal编程技术网

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

Vba 代码适用于3类:MailItem、AppointmentItem或MeetingItem,vba,class,outlook,derived-class,Vba,Class,Outlook,Derived Class,我的意思是编写同样适用于类(类型)的对象olObj,MailItem,AppointmentItem或MeetingItem。我将使用的属性是所有类通用的属性(例如,Subject) 根据,它们没有基类。然而,似乎可以在C#中对此采取一些措施 在VBA中,除了为每个类重复代码之外,还有其他方法可以做到这一点吗?使用后期绑定(将项声明为通用对象)来访问公共属性,例如Subject。通过首先检查类属性(由所有OOM对象公开),可以访问特定于项类型的属性 在Outlook中,项对象具有类属性。当我编写

我的意思是编写同样适用于类(类型)的对象
olObj
MailItem
AppointmentItem
MeetingItem
。我将使用的属性是所有类通用的属性(例如,
Subject

根据,它们没有基类。然而,似乎可以在C#中对此采取一些措施

在VBA中,除了为每个类重复代码之外,还有其他方法可以做到这一点吗?

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


在Outlook中,
项对象
具有
类属性
。当我编写代码时,我总是检查该属性,然后相应地调整变量的赋值(如果是MailItem、TaskItem、MeetingItem等)。我只是想知道为什么需要为此创建一个新类。或者可能我误解了你的问题。@L42-这是一个可能对任何情况都有用的选项,有两条注释:1)
olObj.Class
返回一个
enum
OlObjectClass
;它的使用可能不如
TypeName(olObj)
(或者使用
OlItemType
,但我不知道如何检索它)。例如,case
TypeName(olObj)
=
MeetingItem
包含几个
olObj.Class
的案例,应该测试所有这些案例。2) 我看不出您会如何“相应地调整变量的分配”。如果您能发布代码,那将非常有趣。我不是要创建一个新类。谢谢,米特里的帖子和我现在做的非常接近。但我所做的仍然是使用早期绑定,并将该项分配给其类型的变量(取决于Dmitry发布的是哪个类)。我们可能仍处于不同的页面上,所以最好为每个类提供一个场景或一个重复的代码示例。您能改进您的示例吗?我想处理会议项目。我不清楚如何应用该代码。@koppo-请用包含的相关代码片段启动一个新线程。
olMail = 43
olAppointment = 26
olMeetingRequest = 53
olMeetingCancellation = 54  
olMeetingResponseNegative = 55
olMeetingResponsePositive = 56
olMeetingResponseTentative = 57