题
我正在尝试在用户保存时在特定商店中创建一个新的Outlook项目。通常,如果有多个帐户,当您创建一个新项目时(例如,为任务按Ctrl+Shift+K),则在Active帐户的默认文件夹中创建新项目。
我尝试拦截检查员的新项目并移动它,但没有效果。这是代码的要旨(检查以避免非新项目的检查):
Dim WithEvents inspectors As Outlook.inspectors
Private Sub Application_Startup()
Set inspectors = Application.inspectors
End Sub
Private Sub inspectors_NewInspector(ByVal Inspector As Inspector)
Dim item As Object
Set item = Inspector.CurrentItem
If item Is Nothing Then Exit Sub
If item.Class <> olTask Then Exit Sub
item.Move Application.GetNamespace("MAPI").GetDefaultFolder(olFolderTasks)
End Sub
不幸的是,移动方法没有效果。有任何想法吗?
解决方案
您无法移动未保存的项目。您如何创建项目?
使用 Items.Add
在特定文件夹中添加项目(IE创建)的方法。如果您使用的是CreateItem方法,则将始终在该项目类型的默认文件夹中创建它。
与其尝试使用现有功能尝试创建任务(我不确定是可能的或容易的),我认为您最好创建一个宏来创建所需文件夹中的任务,然后将宏添加到工具栏按钮。或者,您可以尝试先保存该项目,然后移动它。请注意,您当前的代码将项目移至默认任务文件夹。
不隶属于 StackOverflow