如何使用Java脚本为特定邮箱创建Outlook任务?

2022-07-16 00:00:00 ms-office ole activex outlook javascript

我正尝试在仅限IE的本地环境(使用Outlook 2007/2010)中使用JavaScript自动创建Outlook任务。我已经能够使用Outlook ActiveX对象完成此操作,但有一个小问题,即我的方法在用户的默认邮箱中创建任务。(下面代码中的9是任务文件夹的枚举常量)

我需要做的是在单独的共享邮箱中创建任务。我正在寻找一种方法来设置任务到特定的共享邮箱(用户有权访问)的名称,而不是用户的个人(默认)文件夹。到目前为止,我所掌握的内容如下。

     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中的getDefaultFold函数,但我还没有找到一种方法,可以使用JavaScript/ActiveX仅从共享邮箱的名称中获取所需的Entry ID。

我刚开始使用Outlook,如有任何建议或指导,我将不胜感激。谢谢!


解决方案

尝试使用Session.Stores,如this SO post中所述。它包含用户配置文件中的所有可用邮箱存储(Store)。

确定您要查找的Store后,即可使用Store.GetDefaultFolder检索您感兴趣的共享邮箱任务。

相关文章