Office365 无法从桌面Excel 365(Windows)中的对话框在单元格中插入字符串

Office365 无法从桌面Excel 365(Windows)中的对话框在单元格中插入字符串,office365,ms-office,office-js,excel-addins,Office365,Ms Office,Office Js,Excel Addins,前提条件: 平台:PC桌面 主持人:Excel Excel版本:Excel for Microsoft 365 MSO(16.0.13127.20402)64位 操作系统:Windows 10 Pro 1909 从功能区打开对话框并单击“从对话框插入”按钮后,字符串不会插入到单元格中(可以延迟插入一次,但插入后会停止工作)。如果我们从任务窗格运行该脚本,则该脚本正在工作。有关详细信息,请参阅下面附带的视频。 我们已经向excel共享运行时场景示例添加了代码。请看一看 我们怎么处理呢?这根

前提条件:

  • 平台:PC桌面
  • 主持人:Excel
  • Excel版本:Excel for Microsoft 365 MSO(16.0.13127.20402)64位
  • 操作系统:Windows 10 Pro 1909
从功能区打开对话框并单击“从对话框插入”按钮后,字符串不会插入到单元格中(可以延迟插入一次,但插入后会停止工作)。如果我们从任务窗格运行该脚本,则该脚本正在工作。有关详细信息,请参阅下面附带的视频。

我们已经向excel共享运行时场景示例添加了代码。请看一看


我们怎么处理呢?

这根本不应该起作用

请参阅本节中的“重要”注释。对话框中只有2个Office JavaScript API可用


解决方法是使用
messageParent
将数据发送到主机页。主机页上Office.EventType.DialogMessageReceived事件的处理程序随后与工作簿交互。有关详细信息,请参阅我链接到的同一节。

谢谢您的回答。我们简化了代码,并根据官方文档检查了所有步骤。请看一下代码和视频1。在commands.ts中,我们添加了openDialogueModal函数,该函数使用displayDialogAsync在对话框中打开页面。2.当用户单击对话框中的按钮时,我们使用messageParent传递数据,请参见下面的续文3。我们使用dialog.addEventHandler(Office.EventType.DialogMessageReceived,processMessage)在commands.ts中接收数据。在processMessage函数中,我们处理数据并在单元格中插入字符串。因此,字符串不会插入到具有打开的dalog框的单元格中。在第一条消息中,我们可以在单击任务窗格上的按钮时将字符串插入单元格。但是我们不能在点击对话框中的按钮时插入字符串。这看起来像一个bug。此问题可在Excel for Windows上重现。您能测试一下从对话框向单元格中插入字符串的能力并给我们一些建议吗?注:1。我们以github中的excel共享运行时场景为基础。2.在我们的任务中,当对话框打开时,我们需要在单元格中插入字符串,并在不关闭对话框的情况下移动到下面的相邻单元格。如果主页在尝试插入字符串之前关闭对话框,字符串是否会被插入?另外,作为一个实验,尝试将任务窗格作为对话框的主机页,而不是从按钮打开的函数文件。查看是否有效。如果主机页在插入字符串之前关闭对话框,则不会插入该对话框。此外,如果任务窗格是对话框的主机页,则也不会插入字符串。有关详细信息,请参阅下面的视频。此问题可在Excel For Windows上重现。你能试着重现这个场景并告诉我们结果吗?也许,这是一个bug,你可以在最近的将来修复它?或者,我们在使用对话框时可能会遗漏一些东西,这就是为什么会出现这个问题?