在Outlook 2013中,宏可以打开一个新的自定义表单吗?

时间:2014-03-13 18:53:06

标签: outlook outlook-addin outlook-vba

在Outlook 2013中使用“开发人员”选项卡 - >设计一个表单,我从交付的消息表单创建了一个自定义表单(还没有mod),并将其放在我的个人表单库中。 Outlook告诉我Message类是:IPM.Note.MyForm

我创建了一个宏并设置了一个新的功能区按钮来运行宏。我希望宏打开我的自定义表单的新实例,但我无法使其正常工作。

使用以下代码,我可以让宏打开已传递的消息表单的新实例:

Set newItem = Application.CreateItem(olMailItem)
newItem.Display
Set newItem = Nothing

我无法打开我的自定义表单。我已尝试将以下内容作为CreateItem的参数:olMailItem.MyForm和IPM.Note.MyForm。

宏编辑器intellisense有大约9个CreateItem参数选项,所有这些选项看起来都是传递的对象/表单,如果没有使用其中一个选项,它就会出错。

我做了很少的vba和办公室宏,有没有办法让这个宏打开我的自定义表单?感谢。

1 个答案:

答案 0 :(得分:0)

请参阅Items.Add http://msdn.microsoft.com/en-us/library/office/ff861028(v=office.15).aspx

Sub AddForm() 
 Dim myNamespace As outlook.NameSpace 
 Dim myItems As outlook.Items 
 Dim myFolder As outlook.Folder 
 Dim myItem As outlook.MailItem 

 Set myNamespace = Application.GetNamespace("MAPI") 
 Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox) 
 Set myItems = myFolder.Items 
 Set myItem = myItems.Add("IPM.Note.MyForm") 
End Sub