office加载项 对话框(Office.Dialog)与父页面的通讯

2023-02-21阅读(1157)评论(0)牵着狗狗看MM

苏州实时公交查询

使用displayDialogAsync创建对话框时,对话框中不能直接调用诸如window.Excel.run

得通过window.Office.context.ui.messageParent(‘xxx’)的方式将数据发送给主窗口,主窗口接受后,再调用window.Excel.run等方法

示例如下

//创建新对话框
const url = 'https://www.w3cways.com' //调试时必须使用 https的域名
        window.Office.context.ui.displayDialogAsync(
            url,
            { width: 40, height: 40 }, //百分比
            (asyncResult: any) => {
                dialog = asyncResult.value
                dialog.addEventHandler(
                    window.Office.EventType.DialogMessageReceived, //监听事件
                    (val: any) => {
                        const { message } = val //对话框传递过来的数据  这里为 XXX
                        window.Excel.run(async function (context: any) {
                            //TODO 
                            return context.sync()
                        })
                    },
                )
            },
        )

打开的对话框中发送数据给主窗口

window.Office.context.ui.messageParent('XXX') //发送消息给主窗口

 

赞(0)
转载请注明来源:Web前端(W3Cways.com) - Web前端学习之路 » office加载项 对话框(Office.Dialog)与父页面的通讯
分享到: 更多 (0)