2012-05-09 63 views
1

我正嘗試在本地僅限IE的環境(使用Outlook 2007/2010)中使用JavaScript自動創建Outlook任務。我已經能夠使用Outlook ActiveX對象執行此操作,但有一個小問題,我的方法會在用戶的默認郵箱中創建任務。 (以下代碼中的9是任務文件夾的枚舉常量)如何使用Javascript爲特定郵箱創建Outlook任務?

我需要做的是在單獨的共享郵箱中創建任務。我正在尋找一種方法,通過名稱而不是用戶的個人(默認)文件夾將任務設置爲特定的共享郵箱(用戶可以訪問)。我到目前爲止已經在下面。

 function createTask() { 
       //create Outlook object and map to the task folder 
       var outlookApp = new ActiveXObject("Outlook.Application"); 
       var nameSpace = outlookApp.getNameSpace("MAPI"); 
       var mailFolder = nameSpace.getDefaultFolder(9); //olFolderTask 

       //create the task 
       var task = mailFolder.Items.add('IPM.Task'); 
       //set task properties 
       task.Subject = 'Subject'; 
       task.Body = "Body of Task";   
       task.StartDate = "01/01/2012"; 
       task.DueDate = "06/01/2012"; 
       task.ReminderSet = true; 
       task.Save(); 
     } 

我已經發現了一些可能有用的信息here,用替代在GetFolderFromID的getDefaultFolder功能,但我一直沒能找到使用JavaScript/ActiveX來剛剛從共享郵箱的得到所需要的EntryID方式名稱。

我是新來與Outlook合作,任何建議或指導,將不勝感激。謝謝!

回答

0

嘗試使用Session.Stores,如this SO post中所述。它包含用戶在其個人資料中的所有可用郵箱存儲(Store)。

一旦你確定你以後Store,就可以使用Store.GetDefaultFolder檢索共享郵箱任務Folder你感興趣的內容。

+1

非常感謝您!這正是我需要的。對於它的價值,我無法在Outlook 2007中使用[Store.GetDefaultFolder](http://msdn.microsoft.com/en-us/library/ff869924.aspx),但能夠使用[Store。 GetRootFolder](http://msdn.microsoft.com/en-us/library/ff860733.aspx)來完成這兩個環境的工作。 – justaguy133

相關問題