当用户仍在键入单元格并且单元格值更改时,Excel引发异常HRESULT:0x800A03EC

过氧化物

我正在C#中创建一个Excel加载项,并且通过单击加载项按钮来更改某些单元格值。它运行顺利,但是,我注意到,如果用户尝试在ANY单元格中键入某些内容(不仅是我要更改其值的单元格),它将始终抛出HRESULT: 0x800A03EC异常。

我的代码很简单,例如,我仅用以下这段代码进行了测试:

private void buttonFoo_Click(object sender, RibbonControlEventArgs e)
{
    var ws = Globals.ThisAddIn.Application.ActiveSheet;
    ws.Range["A1"].Value = "bar";
} 

当我单击一个随机单元格时,键入“ foo”,但是我没有单击工作表上的任何地方,没有完成写“ foo”的操作,而是在我仍然专注于单元格的同时单击了buttonFoo抛出此异常。

这张图片可以解释我要做什么,我将在图片中单击“ Test”按钮,同时仍然像这样输入:

在此处输入图片说明

我以为如果我尝试在特定的单元格中键入内容,并且我也在代码中更改了该特定的单元格,则会发生此异常。但事实并非如此。我尝试选择一个不使用的单元格,如下所示:

ws.Range["B1"].Select();

没有帮助。我尝试发送ESC键来取消用户键入:

excelApp.SendKeys("{ESCAPE}");

我对此进行了测试,它实际上会发送Escape,但仍然会引发异常。我完全没有主意,也没有找到有关此问题的任何信息。我的意思是我可以用try / catch包围所有内容以查找此异常,但这太可怕了。任何人都知道该怎么做?

塞拉利昂奥斯卡

尝试使用类似的方法来查看应用程序是否繁忙:

bool XLAppBusy()
{
    if (Globals.ThisAddIn.Application.Interactive == false)
    {
        return false;
    }

    try
    {
        Globals.ThisAddIn.Application.Interactive = false;
        Globals.ThisAddIn.Application.Interactive = true;
    }
    catch
    {
        return true;
    }
        return false;
}

private void buttonFoo_Click(object sender, RibbonControlEventArgs e)
{
    if (XLAppBusy() == false)
    {       
        ws.Range["A1"].Value = "bar";
    }
} 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从HRESULT向单元格异常添加公式:0x800A03EC

来自分类Dev

HRESULT的异常:0x800A03EC INDIRECT

来自分类Dev

列值更改时删除线关联的单元格

来自分类Dev

单元格值更改时VBA不运行

来自分类Dev

仅当单元格值更改时,如何执行指令?

来自分类Dev

当单元格值更改时,然后运行宏

来自分类Dev

使用 Excel OpenFile() 时出现“HRESULT 异常:0x800A03EC”

来自分类Dev

Excel 在使用 Range 时抛出 HRESULT: 0x800A03EC 异常

来自分类Dev

范围中任何单元格中的值更改时自动运行Excel VBA

来自分类Dev

强制Excel公式在不相关的单元格值更改时更新

来自分类Dev

在单元格值更改时自动触发宏 |Excel|VBA|

来自分类Dev

当单元格值更改时更新下拉菜单 (Excel)

来自分类Dev

默认文本更改时,Excel更改单元格颜色

来自分类Dev

excel宏:根据原始单元格值更改单元格值

来自分类Dev

当单元格值更改为是时,Excel弹出框

来自分类Dev

在Excel文件的单元格中插入时引发异常

来自分类Dev

DataGridView单元格值更改

来自分类Dev

DataGridView单元格值更改

来自分类Dev

当用户更改单元格值 excel 时需要评论或注释

来自分类Dev

Excel单元格值更新宏

来自分类Dev

当单元格值更改时,将单元格值更改的列复制到同一范围内的另一个工作表

来自分类Dev

仅在Windows服务中:System.Runtime.InteropServices.COMException(0x800A03EC):HRESULT的异常:0x800A03EC

来自分类Dev

如何在Excel中制作一个单元格以根据其他单元格的值更改颜色?

来自分类Dev

如果单元格值更改,Excel将单元格值复制到另一个单元格

来自分类Dev

如果单元格值更改,Excel 将单元格值复制到另一个单元格

来自分类Dev

RadGridView中单元格的值更改时如何触发事件?

来自分类Dev

单元格中的值更改时,将数据插入同一行

来自分类Dev

值更改时将更新/时间戳记入单元格

来自分类Dev

单元格样式绑定不会在值更改时更新

Related 相关文章

  1. 1

    从HRESULT向单元格异常添加公式:0x800A03EC

  2. 2

    HRESULT的异常:0x800A03EC INDIRECT

  3. 3

    列值更改时删除线关联的单元格

  4. 4

    单元格值更改时VBA不运行

  5. 5

    仅当单元格值更改时,如何执行指令?

  6. 6

    当单元格值更改时,然后运行宏

  7. 7

    使用 Excel OpenFile() 时出现“HRESULT 异常:0x800A03EC”

  8. 8

    Excel 在使用 Range 时抛出 HRESULT: 0x800A03EC 异常

  9. 9

    范围中任何单元格中的值更改时自动运行Excel VBA

  10. 10

    强制Excel公式在不相关的单元格值更改时更新

  11. 11

    在单元格值更改时自动触发宏 |Excel|VBA|

  12. 12

    当单元格值更改时更新下拉菜单 (Excel)

  13. 13

    默认文本更改时,Excel更改单元格颜色

  14. 14

    excel宏:根据原始单元格值更改单元格值

  15. 15

    当单元格值更改为是时,Excel弹出框

  16. 16

    在Excel文件的单元格中插入时引发异常

  17. 17

    DataGridView单元格值更改

  18. 18

    DataGridView单元格值更改

  19. 19

    当用户更改单元格值 excel 时需要评论或注释

  20. 20

    Excel单元格值更新宏

  21. 21

    当单元格值更改时,将单元格值更改的列复制到同一范围内的另一个工作表

  22. 22

    仅在Windows服务中:System.Runtime.InteropServices.COMException(0x800A03EC):HRESULT的异常:0x800A03EC

  23. 23

    如何在Excel中制作一个单元格以根据其他单元格的值更改颜色?

  24. 24

    如果单元格值更改,Excel将单元格值复制到另一个单元格

  25. 25

    如果单元格值更改,Excel 将单元格值复制到另一个单元格

  26. 26

    RadGridView中单元格的值更改时如何触发事件?

  27. 27

    单元格中的值更改时,将数据插入同一行

  28. 28

    值更改时将更新/时间戳记入单元格

  29. 29

    单元格样式绑定不会在值更改时更新

热门标签

归档