2017-03-13 9 views
0

2 차원 배열을 사용하여 Excel 범위에 데이터를 쓰고 있습니다. 시스템이 잠겨 있지 않은 경우 "range.value2 = 데이터가"문제없이 실행됩니다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; 

작업 : 그것은 다음과 같이 보입니다 시스템이 잠긴 State.The 코드에 있지 않을 때 예상대로 작동합니다. 그러나 시스템을 잠그고이 작업을 시도하면이 작업을 실행할 때 예외 메시지 "HRESULT 예외 : 0x800AC472"가 표시됩니다.

나는 이것이 COM 예외라고 알고 있지만 어떤 생각이 들지 않습니다. 왜 이런 상황에서 발생하는지 모르겠습니다. 이 문제는 시스템이 잠긴 상태 일 때만 발생합니다. 그렇지 않으면 같은 코드가 잘 동작합니다.

나는 현재 마이크로 소프트 비주얼 스튜디오 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

안녕하세요. 토마스. 필자의 경우 기계가 잠겨있을 때이 문제가 발생합니다. 그렇지 않으면 코드가 정상적으로 작동합니다. 이 링크는 위의 링크와 중복되지 않습니다. –

답변