Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.18;
Скачать: CL | DM;

Вниз

Как объединить две ячейки в Excel программно?   Найти похожие ветки 

 
cardinall   (2004-06-17 08:49) [0]

Есть шаблон Excel.xlt. Мне необходимо програмно некоторые ячейки в ходе генерирования отчета объединять.


 
Ozone ©   (2004-06-17 08:51) [1]

Пиши макрос и делай по аналогии


 
YurikGL ©   (2004-06-17 08:59) [2]

что-то вроде Excelapplication1.range("a1","d1").merge(nil);


 
User_Name   (2004-06-17 09:59) [3]

Я пользуюсь такой функцией

function SetRange(WorkBook: OleVariant; y1, x1, y2, x2: Integer): OleVariant;
begin
Result := WorkBook.WorkSheets[1].Range[
  WorkBook.WorkSheets[1].Cells[y1, x1],
  WorkBook.WorkSheets[1].Cells[y2, x2]];
end;

© не мой :)


 
cardinall   (2004-06-18 16:30) [4]

Вобщем такой вариант работает. Все подробно... В цикле объеденяем ячейки, которые необходимо объединить.

uses  ExcelXP,ActiveX,ComObj;
...
type
IxlApplication = ExcelXP._Application;
IxlWorkbook = ExcelXP._Workbook;
IxlWorksheet = ExcelXP._Worksheet;
IxlRange = ExcelXP.ExcelRange;
...
var
FIXLSApp: IxlApplication;
FLCID: LCID;
...
procedure MergeCells;
var
IWorkbook: IxlWorkbook;
ISheet: IxlWorksheet;
StartROW: Integer;
IR1, IR2: IxlRange;
COUNT:    Integer;
begin
StartROW := 12;
COUNT := 0;
IWorkbook := FIXLSApp.Workbooks.Add(ExpandFileName("TEMPLATE\Template1.xlt"), FLCID);
ISheet := IWorkbook.Worksheets.Item["Sheet1"] as ExcelXP._Worksheet;
SomeTable.First;
while not SomeTable.EOF do
 begin
  //--------------------------------------------------
  IDispatch(IR1) := ISheet.Cells.Item[StartROW+COUNT, 2];
  IDispatch(IR2) := ISheet.Cells.Item[StartROW+COUNT, 3];
  ISheet.Range[IR1,IR2].Merge(0);
  INC(COUNT);
  //--------------------------------------------------
  SomeTable.Next;
 end;
end;


 
Romkin ©   (2004-06-18 16:37) [5]

Только merge(EmptyParam) или Merge(False) - просто точнее :)



Страницы: 1 вся ветка

Текущий архив: 2004.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
10-1023351431
comwad
2002-06-06 12:17
2004.07.18
Глюк при переходе с Visibroker 3 (D 6) на Visibroker 4.1 (D6)


3-1088155245
чайник1
2004-06-25 13:20
2004.07.18
Определения вхождения даты


8-1083590016
BlackTiger
2004-05-03 17:13
2004.07.18
Как повернуть Bitmap на определенный угол?


14-1088162043
Nickola2
2004-06-25 15:14
2004.07.18
Пожалуйста, помогите с дистрибьютивом.


1-1089195017
GreySerg
2004-07-07 14:10
2004.07.18
Почему после отключения debug info exeшник не уменьшается ?