Outlook VBA:将新(未保存)项目移动到文件夹

时间:2010-12-04 21:35:35

标签: outlook-vba

我正在尝试在用户保存时在特定商店中创建新的Outlook项目。通常,如果有多个帐户,则在创建新项目时(例如,按Ctrl + Shift + K执行任务),新项目将在活动帐户的默认文件夹中创建。

我尝试拦截新物品的检查员并移动它,但它没有效果。这是代码的要点(省略了非新项目的检查):

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

不幸的是,Move方法没有效果。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您无法移动未保存的项目。你是如何创造这个项目的?

使用Items.Add方法在特定文件夹中添加项目(即创建项目)。如果您使用的是CreateItem方法,则始终会在该项类型的默认文件夹中创建它。

我没有尝试使用现有功能来尝试创建任务(我不确定是否可行),我认为你最好创建一个在你想要的文件夹中创建任务的宏,然后添加宏到工具栏按钮。或者您可以先尝试保存该项目,然后再移动它。请注意,您当前的代码会将项目移动到默认的“任务”文件夹。