2010-12-04 61 views
0

我試圖在用戶保存時在特定商店中創建新的Outlook項目。通常,如果有多個帳戶,則當您創建新項目時(例如,按Ctrl + Shift + K進行任務),將在活動帳戶的默認文件夾中創建新項目。Outlook VBA:將新的(未保存的)項目移至文件夾

我試着攔截檢查員爲新項目並移動它,但它沒有效果。這裏是代碼的要點(檢查以避免非新項目被省略):

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

您不能移動未保存的項目。你是如何創建該項目?

使用Items.Add方法在特定文件夾中添加項目(即創建項目)。如果您使用CreateItem方法,它將始終在該項目類型的默認文件夾中創建。

而不是嘗試使用現有的功能來嘗試和創建任務(我不知道是可能的還是簡單的)我認爲你最好創建一個宏來創建你想要的文件夾中的任務,然後將宏添加到工具欄按鈕。或者您可以嘗試先保存該項目,然後移動它。請注意您當前的代碼將項目移動到默認的任務文件夾。

+0

我的目標是勾選在Outlook中創建任務的標準方法:主頁>新建項目>任務或Ctrl + Shift + K。 Folders.Add創建一個新文件夾;我想在用戶填寫數據並點擊保存後在特定文件夾中創建一個新的任務項目。 – 2011-11-22 14:44:07

相關問題