2017-03-13 356 views
0

我正在使用二维数组将数据写入excel范围。它的工作原理,当系统没有处于锁定State.The代码预期看起来是这样的:COM异常:系统锁定时引发0x800AC472(Excel VSTO)

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; 

当系统没有被锁定“range.value2 =数据”被没有任何问题执行的操作。但是,当我锁定系统并尝试执行此操作时,执行此操作时会收到异常消息“异常来自HRESULT:0x800AC472”。

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

我目前正在对微软的Visual Studio 2010和Microsoft Excel 2007

+0

的可能的复制[异常(HRESULT:0x800AC472)当调用Excel.Workbook.SaveAs后使用Excel.Worksheet.Select](http://stackoverflow.com/questions/20737432/exception-hresult-0x800ac472-when-using-excel-worksheet-select-after-calling) –

+0

嗨托马斯。在我的情况下,当我的机器被锁定时会发生这个问题。否则,代码工作正常。这不是上述链接的重复。 –

回答