Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.06.2013, 15:44
Scorpuha Scorpuha вне форума
Новичок
 
Регистрация: 13.06.2013
Сообщения: 77
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

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


Код:
unit merge;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Comobj;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure  Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
ExcelApp,
  ExcelSheet,
  ExcelCol,
  ExcelRow,
  Excel: Variant;
  Size: real;
  i, j, N, M: Word;
  a_, b_:integer;

begin
 // Запускаю приложение Excel
  ExcelApp:=CreateOleObject('Excel.Application');
  ExcelApp.Visible:=True;

  // Создаю рабочую книгу
  ExcelApp.Workbooks.Add(-4167);
  ExcelApp.Workbooks[1].WorkSheets[1].Name:='Отчёт';
  ExcelCol:=ExcelApp.Workbooks[1].WorkSheets['Отчёт'].Columns;
// Ширина ячейки  StringGrid1.DefaultRowHeight
  ExcelApp.Columns.Columns[1].ColumnWidth:=5;
  ExcelApp.Columns.Columns[2].ColumnWidth:=18;
  ExcelApp.Columns.Columns[3].ColumnWidth:=9;
  ExcelApp.Columns.Columns[4].ColumnWidth:=12;
  ExcelApp.Columns.Columns[5].ColumnWidth:=11;
  ExcelApp.Columns.Columns[6].ColumnWidth:=13;
  ExcelApp.Columns.Columns[7].ColumnWidth:=13;
  ExcelApp.Columns.Columns[8].ColumnWidth:=13;
  ExcelRow:=ExcelApp.Workbooks[1].WorkSheets['Отчёт'].Rows;
  ExcelRow.Rows[1].Font.Bold:=True; // Заголовки столбцов - жирные
  ExcelSheet:=ExcelApp.Workbooks[1].WorkSheets['Отчёт'];

      begin
       for a_:=17 to 226 do
       ExcelApp.Range[ExcelSheet.cells[a_,1],ExcelSheet.cells[a_+5,1]].Select;
         ExcelApp.Selection.merge;
         a_:=a_+5;
        end;
        end;


end.


подскажите, плз.
Вложения
Тип файла: rar merge.rar (1.1 Кбайт, 0 просмотров)

Последний раз редактировалось M.A.D.M.A.N., 25.06.2013 в 21:45.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:28.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025