Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Найти объединенные ячейки(Excel)


Автор: Lunatikus 28.12.2007, 10:16
Здравствуйте,коллеги.С наступающим новым годом ва =)
Возникла проблема.В документе надо найти,какие ячейки объединены.
Используя проверку 
Код

IF EA.range['A1','A2'].mergecells=true then showmessage('ячейки А1 и А2 объединены')

я должен видеть,что эти две ячейки объединены.
Однако,оно впыолняется даже если они раздельные!В чем ошибка не понимаю

Автор: volvo877 28.12.2007, 23:05
Цитата(Lunatikus @  28.12.2007,  09:16 Найти цитируемый пост)
Однако,оно впыолняется даже если они раздельные!
Кто раздельные, что выполняется - не понятно...

Вот это, в частности:
Код

  Excel := CreateOleObject('Excel.Application');
  Workbook := Excel.WorkBooks.Open('G:\Test.xls');
  Excel.Visible := True;

  Sheet := Excel.Workbooks[1].Sheets[1];

  Range := Sheet.Range['A3','A4'];
  if Range.MergeCells then ShowMessage('Cells are Merged')
  else ShowMessage('Cells aren''t merged');
правильно показывает, объединены ли ячейки...

Автор: Lunatikus 10.1.2008, 10:29
угу,если сделать новый документ и объединить там ячейки,то все великолепно.
Но вот я считываю данные не своего документа,в котором визуально А1 и А2 объединены,потом идет А3 отдельная.Однако А3-А4 по такому коду тоже выдает объединение.Видимо косяк в самом документе,но это надо исправить,вот и ищу как

Автор: Lunatikus 10.1.2008, 10:52
вернее не совсем верно сказал.Идет А1-А2 объединенные.Потом еще А3-А4 объединенные.Когда я спрашиваю,объединены ли ячейки А2-А3,мне такая процедура говорит true.

Автор: Lunatikus 10.1.2008, 11:13
нашел иной выход:через MergeArea.Просто буду смотреть,входит ли текущая ячейка в объединение и,  зная кол-во строк в нем, буду перепрыгивать на следующую запись в документе.Так проходит без глюков.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)