2017-03-13 475 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

嗨托馬斯。在我的情況下,當我的機器被鎖定時會發生這個問題。否則,代碼工作正常。這不是上述鏈接的重複。 –

回答