Excel 在 office-addin 为 运行 时编辑单元格时崩溃
Excel crashes when editing cell while office-addin is running
我已经遇到过几次 Excel 崩溃。
起点是 Office 插件当前正忙于更长时间的操作(在所有工作表中搜索功能,随后从服务器检索数据并将此数据写入 Excel)。如果您在此期间单击一个单元格并输入一个值,您将得到一个 "InvalidOperationInCellEditMode",如果您当前正在 Excel.run(asyn context ... - 插件中的范围。崩溃of Excel 并不总是发生,有时需要几十次。
但是,对于当前正在使用 Excel 中的插件的用户来说,这样的崩溃总是很烦人。顺便说一句,如果您捕获 Excel.run 范围,即使 Excel 崩溃也无济于事。
编辑模式导致任何 API 调用失败的事实是 "known-issue",并且不是真正可以修复的——甚至 VBA 对 [大多数] API 来电。
并且功能区中的大多数操作都被禁用。 Office 加载项也是如此 APIs.
因此,当进入单元格编辑模式时,API调用失败并抛出异常InvalidOperationInCellEditMode
是设计使然
有一个解决方法不确定您是否可以在您的场景中利用:
Excel.run
有一个接受 RunOptions
对象的重载。这包含一组在函数运行时影响平台行为的属性。有一个 属性: delayForCellEdit
确定是否 Excel 延迟批处理请求,直到用户退出单元格编辑模式。为真时,批处理请求会延迟并在用户退出单元格编辑模式时运行。为 false 时,如果用户处于单元格编辑模式(导致错误到达用户),批处理请求将自动失败。没有指定 delayForCellEdit
属性 的默认行为等同于它为 false 时的行为。
对于Crash问题,我其实是无法重现的。如果您能分享更多关于复制信息的提示,那就太好了,谢谢。
我已经遇到过几次 Excel 崩溃。
起点是 Office 插件当前正忙于更长时间的操作(在所有工作表中搜索功能,随后从服务器检索数据并将此数据写入 Excel)。如果您在此期间单击一个单元格并输入一个值,您将得到一个 "InvalidOperationInCellEditMode",如果您当前正在 Excel.run(asyn context ... - 插件中的范围。崩溃of Excel 并不总是发生,有时需要几十次。
但是,对于当前正在使用 Excel 中的插件的用户来说,这样的崩溃总是很烦人。顺便说一句,如果您捕获 Excel.run 范围,即使 Excel 崩溃也无济于事。
编辑模式导致任何 API 调用失败的事实是 "known-issue",并且不是真正可以修复的——甚至 VBA 对 [大多数] API 来电。 并且功能区中的大多数操作都被禁用。 Office 加载项也是如此 APIs.
因此,当进入单元格编辑模式时,API调用失败并抛出异常InvalidOperationInCellEditMode
是设计使然
有一个解决方法不确定您是否可以在您的场景中利用:
Excel.run
有一个接受 RunOptions
对象的重载。这包含一组在函数运行时影响平台行为的属性。有一个 属性: delayForCellEdit
确定是否 Excel 延迟批处理请求,直到用户退出单元格编辑模式。为真时,批处理请求会延迟并在用户退出单元格编辑模式时运行。为 false 时,如果用户处于单元格编辑模式(导致错误到达用户),批处理请求将自动失败。没有指定 delayForCellEdit
属性 的默认行为等同于它为 false 时的行为。
对于Crash问题,我其实是无法重现的。如果您能分享更多关于复制信息的提示,那就太好了,谢谢。