View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Sergei Emelyanenkov Sergei Emelyanenkov is offline
external usenet poster
 
Posts: 2
Default SpecialCells method of Range class failed

I tried to activate worksheet and select the range, but it doesn't help.
Exception still arises.
I can't work through this issue with VBA, because VBA Editor disabled (in my
instance of Excel 2003) when cursor is in Formula Bar. A part of C# code I've
used:

using Excel = Microsoft.Office.Interop.Excel;

Excel.Application objExcelApp = GetExcelApp(); // Custom function to
receive Excel application object.
Excel.Range rng =(Excel.Range)objExcelApp.Selection; // Get selected
cells. Works fine, even through cursor is in Formula Bar.
rng.Worksheet.Activate();
rng.Select();
Excel.Range objRngVisible =
rng.SpecialCells(Excel.XlCellType.xlCellTypeVisibl e, Type.Missing); // Get
only visible cells from selection. Exception here :(


"Joel" wrote:

Use Activate to select a worksheet and Select to move the cursor to the
worksheet.

Sheets("Sheet1").Activate
Range("A1").Select

"Sergei Emelyanenkov" wrote:

Hi,

I use Range.SpecialCells method (C#, Excel 2003) to filter visible cells. It
works fine, but if cursor is in Formula Bar it rises an exception
"System.Runtime.InteropServices.COMException (0x800A03EC): SpecialCells
method of Range class failed".
Can I force Range.SpecialCells to work in this situation? Or can I, at
least, determine that cursor is in Formula Bar?

In some cases (including described above) Excel's Visual Basic Editor
becomes disabled. It seems, it was made intentionally to prevent Excel
automation. Can anybody explain this situation? And how can I treat it in C#.

Thank you in advance!
Sergei.