COM异常:系统锁定时引发0x800AC472(Excel VSTO)

时间:2017-03-13 10:42:17

标签: c# com vsto excel-interop comexception

我使用2D数组将数据写入excel范围。当系统未处于锁定状态时,它按预期工作。代码如下所示:

Range range = SetRange(); // no. of rows and columns in the selected range is equal to the no.of rows and columns in the 2D Array 
object[,] data = new object[rows, columns];
for (int i = 0; i < rows; i++)
{
    for (int j = 0; j < columns; j++)
    {
        data[i, j] = i+j;
    }
}
range.value2 = data;

操作&#34; range.value2 = data&#34;系统未锁定时执行没有任何问题。但是,当我锁定系统并尝试此操作时,我收到一条异常消息&#34;来自HRESULT的异常:0x800AC472&#34;执行此操作时。

我知道这是一个COM异常,但我不知道,为什么在这种情况下会被提升。此问题仅在我的系统处于锁定状态时发生。否则,同一段代码可以正常工作。

我目前正在使用Microsoft Visual Studio 2010和Microsoft Excel 2007。