2010-06-24 2 views
0

C#을 사용하여 Excel 시트의 일부 행을 숨기려고 시도합니다.vs2005에서 vsto를 사용하여 행을 숨기는 동안 "HRESULT : 0x800A01A8"오류가 발생합니다.

하지만 라인

deleteRange.EntireRow.Hidden = true; 

오류를주고있다.

행을 범위를 선택하고 숨기는의 전체 코드가

string rowCnt = Convert.ToString(excelExportData.Tables["AllVersionDts"].Rows.Count + 8); 
string startCell = "A" + rowCnt; 
Microsoft.Office.Interop.Excel.Range deleteRange = ws.get_Range(startCell+":A65536",Missing.Value); 
deleteRange.EntireRow.Delete(Microsoft.Office.Interop.Excel.XlDeleteShiftDirection.xlShiftUp); 

deleteRange.EntireRow.Hidden = true; 

아래에 주어진이 코드에보고 내가 잘못 가고 어디 말 해주세요.

감사합니다.

답변

1

"삭제"로 인해 범위가 변경되었습니다. 범위를 숨기기 전에 바로 정의하십시오.

deleteRange = ws.get_Range(startCell+":A65536",Missing.Value); 
deleteRange.EntireRow.Hidden = true; 
+0

첫 번째 시도에서 완벽하게 작동했습니다. 고맙습니다. –

+0

@ Jagannath Swain :이 대답 옆의 빈 체크 표시를 클릭하면 PerlDev의 대답을 받아 들일 수 있습니다. –

관련 문제