2008-09-09 15 views
3

3.5 çerçeve ve Excel2007'ye karşı C# kullanarak bir VSTO projesinde SpecialCells yöntemini kullanmaya çalışıyorum. Bunu çalıştırdığınızdaÖzel Özellikler VSTO

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

, bir istisna atar ...

System.Exception._COMPlusExceptionCode with a value of -532459699 

Not I (yorumsuz bir geçiş ve yorum yaparsanız ben aynı durum almak: Burada

kod bu diğer) yukarıdaki Range rAccounts hattı.

+0

o (- Excel.12 API otomasyon arayüzünden bu durumda yani) birlikte çalışma katmanında yerden çıkan bir HResult hatadır. Yani doğrudan bir sözdizimi hatası veya mantık hatası sonucu olması muhtemel değildir. Bu durumda dev, Excel işleminde desteklenmeyen bir işlem gerçekleştirmek için kod kullanıyordu. Aynı kodu VBA'da çalıştırmak sorunu hızlı bir şekilde açıkladı (sorun giderme adımı olarak). –

cevap

0

Bunu çözdüm anladım ... çalışma sayfası korundu!

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

düzeltiyor ... evde oynarken olanlar için ... bittiğinde sayfayı korumayı unutmayın. Eğer istisna bir ComPlus sınıfını görürseniz

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); 
İlgili konular