Javascript displayNewMessageForm在Outlook答复中使用时不起作用

Javascript displayNewMessageForm在Outlook答复中使用时不起作用,javascript,outlook-addin,office-js,outlook-web-addins,Javascript,Outlook Addin,Office Js,Outlook Web Addins,我有一个Outlook加载项,可以在撰写和阅读模式下使用。如果用户完成了撰写外接程序,最后,用户创建的一些内容会添加到电子邮件正文中。只有在单击“新建”时才能看到“编写”加载项 在阅读场景中,我的外接程序命令下拉列表中有3个选项-New、Reply、replyll。用户使用外接程序,与撰写模式相同,但最后我使用displayNewMessageForm、displayReplyForm和displayReplyAllForm根据所选操作创建新电子邮件 到目前为止,它运行良好。问题来了: 当用户打

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

在阅读场景中,我的外接程序命令下拉列表中有3个选项-New、Reply、replyll。用户使用外接程序,与撰写模式相同,但最后我使用displayNewMessageForm、displayReplyFormdisplayReplyAllForm根据所选操作创建新电子邮件

到目前为止,它运行良好。问题来了:

当用户打开电子邮件并使用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();
                                                        }
                                                );
                                        }

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