我试图从对话框中访问word文档上下文,如下所示:
Office.context.document.setSelectedDataAsync("Hello World!",
function (asyncResult) {
var error = asyncResult.error;
if (asyncResult.status === Office.AsyncResultStatus.Failed){
write(error.name + ": " + error.message);
}
});
这不起作用,因为setSelectedDataAsync未定义。
在此处的文档https://dev.office.com/reference/add-ins/shared/officeui.displaydialogasync中,它在设计注意事项下方的底部显示“不要使用对话框与文档进行交互。请改用任务窗格。”
根本不可能从对话框中访问完整 word文档上下文,还是仅仅建议不要这样做?
理想情况下,我想向用户显示包含大量详细信息的条目列表,然后用户可以从中选择一个,并将文档插入到文档中。从技术上讲,我可以在TaskPane中执行此操作,但那里的空间有限。如果可能的话,我真的很想在对话框中做到这一点(特别是因为我有一些非常类似的要求)。
是否有机会以与TaskPane相同的方式与word文档进行交互?
答案 0 :(得分:2)
您无法通过对话框与文档进行互动。
来自文档:
https://dev.office.com/docs/add-ins/develop/dialog-api-in-office-add-ins
messageParent 函数是可以在对话框中调用的两个Office API之一。 (另一个是Office.context.requirements.isSetSupported)
所以基本上,你可以通过对话框显示/收集一些数据并通过messageParent
函数将其发送回父母。
您可以向用户显示所有选项,然后将选定的选项发送回父窗口,并根据需要与文档进行交互。