未在Excel中为AppointmentItem定义的用户定义类型
问题描述:
我将示例http://support.microsoft.com/kb/220595复制到Excel中的VBA。未在Excel中为AppointmentItem定义的用户定义类型
我的代码如下:
Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")
Dim olAppt As Outlook.AppointmentItem
Set olAppt = olApp.CreateItem(olAppointmentItem)
我获得关于线Dim olAppt As Outlook.AppointmentItem
以下错误:“没有定义用户定义的类型” 。
这应该如何解决?
我使用MS Office 2003的
答
有一些文章中上市的4个先决步骤。它们在代码块之前列出。
您可能忘了按照第二步,添加对Outlook对象库的引用。
唯一的区别是,在VBA菜单项是Tools
而不是Project
。
答
您需要通过他们的价值是指所有常数,因此,作为olAppointmentItem = 1:
Set olAppt = olApp.CreateItem(1)
您可以查找值,例如http://msdn.microsoft.com/en-us/library/aa911356.aspx,或使用Outlook的对象浏览器来获取值。
该示例使用后期绑定,这通常是一个好主意,因此添加对Outlook库的引用不是必需的,如果要分发解决方案,也不是一个好主意。 – Fionnuala 2010-09-05 10:11:29
@Remou并非如此。它使用了不必要的后期绑定('CreateObject')和早期绑定('As Outlook.Application')的混合。显然,早期绑定位赢了。是的,您可以通过将所有内容重新声明为“Object”来修复它,但这没有任何意义。你*有*安装Outlook使用它的对象模型,所以它也不会影响分配。 – GSerg 2010-09-05 13:13:39
你说得对,我没注意。但是,我认为最好使用后期绑定,因为库版本之间存在差异。 – Fionnuala 2010-09-05 17:39:23