我有一个Outlook加载项,可以在撰写和阅读模式下使用。如果用户经过了compose加载项,最后,用户创建的某些内容将被添加到电子邮件正文中。当您单击“新建”时,您只能看到撰写的加载项。
在“读取”方案中,我的外接程序命令下拉菜单中有3个选项-“新建”,“答复”,“全部答复”。用户经历了与Compose模式相同的加载项,但是最后我根据选择的操作使用 displayNewMessageForm,displayReplyForm 和 displayReplyAllForm 创建新电子邮件。>
到目前为止,它工作正常。问题来了:
当用户打开电子邮件并使用Outlook的答复/答复全部/转发操作时,我的加载项会显示在新窗口中。 (箭头仅显示我的加载项图标) 现在,用户单击加载项完成必要的步骤,最后,我再次使用displayNewMessageForm,displayReplyForm和displayReplyAllForm创建新电子邮件。但是目前,上述API调用失败了。
错误消息:Office.context.mailbox.displayNewMessageForm不是函数。 尽管我认为这与代码无关,但这是这些API调用的代码。
Formdata 和参数格式正确,并且在读取模式下可以正常工作。
if (selectedEmailType == 'New' || selectedEmailType == 'NewEmail') {
Office.context.mailbox.displayNewMessageForm(parameters);
}
if (selectedEmailType == 'ReplyEmail') {
Office.context.mailbox.item.displayReplyForm(
formdata,
function(asyncResult) {
console.log(asyncResult.value);
Office.context.ui.closeContainer();
}
);
} else if ((selectedEmailType == 'ReplyAllEmail')) {
Office.context.mailbox.item.displayReplyAllForm(
formdata,
function(asyncResult) {
console.log(asyncResult.value);
Office.context.ui.closeContainer();
}
);
}
答案 0 :(得分:1)
如果我正确理解了您的问题,则您正在尝试在编写电子邮件的外接程序运行时使用displayReplyForm和其他提到的API。这些API只能在读取模式下使用,而在撰写模式下将不可用。您可以find the documentation here。这些API的“适用Outlook模式”为“读取”。