2008-09-09 5 views
3

3.5 프레임 워크와 Excel2007에 대해 C#을 사용하여 VSTO 프로젝트에서 SpecialCells 메서드를 사용하려고합니다. 나는이 프로그램을 실행할 때VSTO의 SpecialCell

Excel.Worksheet myWs = (Excel.Worksheet)ModelWb.Worksheets[1]; 

Range myRange = myWs.get_Range("A7", "A800"); 

//Range rAccounts = myRange.SpecialCells(XlCellType.xlCellTypeConstants, XlSpecialCellsValue.xlTextValues); 

Range rAccounts = myWs.Cells.SpecialCells(XlCellType.xlCellTypeConstants, XlSpecialCellsValue.xlTextValues); 

, 그것은 예외가 발생합니다 ...

System.Exception._COMPlusExceptionCode with a value of -532459699 

주 나는 (주석을 전환하고 의견을 만약 내가 같은 예외가 : 여기

내 코드입니다 기타) 위의 범위 rAccounts 라인.

+0

그것은 (- Excel.12의 API 자동화 인터페이스에서이 경우 즉)에 상호 운용성 층에서 품어 준다 오류입니다. 즉 구문 오류 또는 논리 오류의 직접적인 결과는 아닐 수도 있습니다. 이 경우 개발자는 코드를 사용하여 Excel 프로세스에서 지원되지 않는 작업을 수행했습니다. VBA에서 동일한 코드를 실행하면 문제 해결 단계로 신속하게 문제가 공개됩니다. –

답변

0

... 알아 냈습니다 ... 워크 시트가 보호되었습니다!

myWs.Unprotect(Properties.Settings.Default.PasswordSheet); 

... 집에서 놀고있는 사람들을 위해 ... 다 끝나면 시트를 보호하는 것을 잊지 마십시오. 당신이 예외의 COMPLUS 클래스를 참조하면

myWs.Protect(Properties.Settings.Default.PasswordSheet, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);