2008-09-09 9 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); 

、それは例外をスローします...私は(コメント解除1を切り替えて、コメント場合、私は同じ例外を取得

System.Exception._COMPlusExceptionCode with a value of -532459699 

注その他)上記の範囲rAccounts行。

+0

あなたは例外のCOMPLUSクラスを参照してください場合は、(オートメーションインターフェイスから、すなわちこの場合は - Excel.12 API)相互運用層から湧き上がっHRESULTエラーです。すなわち、構文エラーまたは論理エラーの結果である可能性は低い。この場合、開発者はコードを使用してExcelプロセスでサポートされていない操作を実行していました。 VBAで同じコードを実行すると、トラブルシューティングの手順としてすぐに問題が明らかになりました。 –

答えて

0

私はそれを考え出しました... ワークシートは保護されていました!

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

あなたが家で遊んでいる人のために...あなたが完了したらシートを守ることを忘れないでください。

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);