tags:

views:

147

answers:

0

Hi, all

I'm using OWC11.AxSpreadSheet control in my c# windows form. This control showing existing Excel file using XMLURL property. Excel worksheet contains merge cells, cross references, etc.

Problem:

When I try to get merge area OWC11.Range, then I see what:

1) property OWC11.Range.MergeArea return an COM error

2) OWC11.Range.Columns.Count and OWC11.Range.Rows.Count equals rows|columns count what represent non merged area

In this sample, i need to get merge area address:

Excel worksheet contains 2 cells with "A1" и "B1" locations, after cells be merged in Excel application - we have 1 cell with address "A1". But OWC11.Range return area with 2 cell "A1" и "B1", but must - "A1" only.

private void axSpreadSheet_SelectionChanging(object sender, ISpreadsheetEventSink_SelectionChangingEvent e)
{
  if (sender== null) return;
  object empty = Type.Missing;
  Range range = (((AxSpreadsheet)(sender)).Selection);
  //Range mergeRange =  range.MergeArea; return an error
  //Range mergeRange =  range.MergeCells; return an error
  string address = range.get_Address(ref empty, ref empty, XlReferenceStyle.xlA1, ref empty, ref empty);
}

Thx for any help.