View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Nigel[_2_] Nigel[_2_] is offline
external usenet poster
 
Posts: 735
Default Why does Range.Group() method crash after 7 calls?

see reply to your other post

--

Regards,
Nigel




"serhio" wrote in message
...
Hello,
I have a problem with Microsoft.Office.Interop.Excel.Range.Group()
method.
The problem is that I can call this method only 7 times, before it
throws me an exception.
I don't understand quite well why this happens, and for witch
documents this affirmation is valid, but the problem exists, probably,
for a large files.
For example, if you save this file -
http://serhio.atspace.com/ExcelData.xls
on the drive C, and executes the following code:

Code Snippet
static void Main(string[] args)
{
Microsoft.Office.Interop.Excel.Application excelApp = new
ApplicationClass();
excelApp.Visible = true; // Makes Excel visible to the
user.

string workbookPath = @"C:\ExcelData.xls"; // Add your
own path here
// The following code opens an existing workbook
Workbook excelWorkbook =
excelApp.Workbooks.Open(workbookPath, 0,
false, 5, "", "", false, XlPlatform.xlWindows, "",
true,
false, 0, true, false, false);

// The following gets the first Woorksheet
Worksheet worksheet = excelWorkbook.Worksheets.get_Item(1)
as Worksheet;
worksheet.Outline.SummaryRow =
XlSummaryRow.xlSummaryAbove;

Range aRange;
int groupCounter = 0;
try
{
for (int i = 10; i < 450; i = i + 11)
{
aRange =
worksheet.get_Range(string.Format("C{0}:C{1}", i, i + 10),
Missing.Value);
aRange.Group(Missing.Value, Missing.Value,
Missing.Value, Missing.Value);
groupCounter++;
}
}
catch (Exception ex)
{
throw ex;
}
}

when I have groupCounter == 7, I get a
[System.Runtime.InteropServices.COMException] = {"Group method of
Range class failed"}

You can skip some groups, in order to use different lines to group,
but anyway, the 7-th call of Group method crashes the application.

Is there somebody qho can explain this behavior, and how can I resolve
this issue?

Thanks a lot
/sergiu