Шаг 144.
Автоматизация Microsoft Excel. Работа с ячейками.
Выравнивание текста в ячейке (окончание)

    На этом шаге мы рассмотрим объединение ячеек.

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

procedure TForm1.CheckBox3Click(Sender: TObject);
//Объединение ячеек
begin
   Range.MergeCells:=CheckBox3.Checked;
end;

    На рисунке 1 приведен пример объединения группы ячеек с использованием представленной процедуры. Адрес объединенной ячейки соответствует адресу левой верхней ячейки области, в которой выполнялось объединение.


Рис..

    Вот полный текст приложения.

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    ComboBox1: TComboBox;
    Label3: TLabel;
    ComboBox2: TComboBox;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    Label4: TLabel;
    SpinEdit1: TSpinEdit;
    Button3: TButton;
    CheckBox3: TCheckBox;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
var
  E:variant;
  Range:variant;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
//Создание объекта Excel и отображение окна
begin
  E:=CreateOleObject('Excel.Application');
  E.Visible:=True;
end;

procedure TForm1.Button2Click(Sender: TObject);
//Создание рабочей книги
begin
  E.WorkBooks.Add;
end;

procedure TForm1.Edit1Exit(Sender: TObject);
//Определение области
begin
 Range:=E.ActiveSheet.Range[Edit1.Text];
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
//Задание горизонтального выравнивания
begin
  case ComboBox1.ItemIndex of
    0: Range.HorizontalAlignment:=-4108; //xlHAlignCenter
    1: Range.HorizontalAlignment:=7;     //xlHAlignCenterAcrossSelection
    2: Range.HorizontalAlignment:=-4117; //xlHAlignDistributed
    3: Range.HorizontalAlignment:=5;     //xlHAlignFill
    4: Range.HorizontalAlignment:=1;     //xlHAlignGeneral
    5: Range.HorizontalAlignment:=-4130; //xlHAlignJustify
    6: Range.HorizontalAlignment:=-4131; //xlHAlignLeft
    7: Range.HorizontalAlignment:=-4152; //xlHAlignRight
  end;
end;

procedure TForm1.ComboBox2Change(Sender: TObject);
//Задание вертикального выравнивания
begin
  case ComboBox2.ItemIndex of
    0: Range.VerticalAlignment:=-4107; //xlHAlignRight
    1: Range.VerticalAlignment:=-4108; //xlVAlignCenter
    2: Range.VerticalAlignment:=-4117; //xlVAlignDistributed
    3: Range.VerticalAlignment:=-4130; //xlVAlignJustify
    4: Range.VerticalAlignment:=-4160; //xlVAlignTop
  end;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
//Включение/отключение переноса по словам
begin
  Range.WrapText:=CheckBox1.Checked;
end;

procedure TForm1.CheckBox2Click(Sender: TObject);
//Включение/отключение автоподбора ширины
begin
  Range.ShrinkToFit:=CheckBox2.Checked;
end;

procedure TForm1.Button3Click(Sender: TObject);
//Задание поворота
begin
   Range.Orientation:=SpinEdit1.Value;
end;

procedure TForm1.CheckBox3Click(Sender: TObject);
//Объединение ячеек
begin
   Range.MergeCells:=CheckBox3.Checked;
end;

end.
Текст этого приложения можно взять здесь (3,9 Кб).

    На следующем шаге мы рассмотрим задание шрифта.




Предыдущий шаг Содержание Следующий шаг