在Outlook回复中使用时,displayNewMessageForm不起作用

问题描述 投票:0回答:1

我有一个可在撰写和阅读模式下使用的Outlook加载项。如果用户浏览了撰写加载项,最后,用户创建的某些内容会添加到电子邮件正文中。单击“新建”时,您只能看到撰写加载项。

在Read方案中,我的加载项命令下拉列表有3个选项 - New,Reply,ReplyAll。用户浏览加载项,与Compose模式相同,但最后我使用displayNewMessageForm,displayReplyForm和displayReplyAllForm根据所选操作创建新电子邮件。

到目前为止它工作正常。问题出现了:

当用户打开电子邮件并使用Outlook的回复/回复/转发操作时,我的加载项会显示在新窗口中。 (箭头只显示我的加载项图标)enter image description here现在,用户单击加载项完成必要的步骤,最后我再次使用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();
                                                        }
                                                );
                                        }
javascript outlook-addin office-js outlook-web-addins
1个回答
1
投票

如果我正确理解您的问题,那么在撰写电子邮件时,当加载项正在运行时,您尝试使用displayReplyForm和其他提到的API。这些API只能在读取模式下使用,并且在“撰写模式”下不可用。你可以find the documentation here。这些API的“适用的Outlook模式”是“读取”。

© www.soinside.com 2019 - 2024. All rights reserved.