FAQ VCL
Работа с MS Office\Word

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика

Как настроить фон комментария к ячейке?

var
  E: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
var
  Range: OleVariant;
begin
   Range := E.Range['A1:A1'];
   // Изменить цвет фона
   Range.Comment.Shape.Fill.ForeColor.RGB := RGB(255, 0, 0);
   // Вставить картинку (растягивается на весь комментарий)
   Range.Comment.Shape.Fill.UserPicture('d:\01.bmp');
end;


Как очистить комментарий к ячейке/диапазону ячеек?

var
  E: OleVariant;

// Очистка комментария к ячейки
procedure TForm1.Button1Click(Sender: TObject);
begin
   E.Cells[1, 1].ClearComments;
end;

// Очистка комментария к диапазону ячеек
procedure TForm1.Button1Click(Sender: TObject);
begin
   E.Range['A1:D4'].ClearComments;
end;


Как очистить примечание к ячейке/диапазону ячеек?

var
  E: OleVariant;

// Очистка примечания к ячейки
procedure TForm1.Button1Click(Sender: TObject);
begin
   E.Cells[1, 1].ClearNotes;
end;

// Очистка примечания к диапазону ячеек
procedure TForm1.Button1Click(Sender: TObject);
begin
   E.Range['A1:D4'].ClearNotes;
end;


Как очистить форматирование в ячейке/диапазоне ячеек?

var
  E: OleVariant;

// Очистка форматирования в ячейке
procedure TForm1.Button1Click(Sender: TObject);
begin
   E.Cells[1, 1].ClearFormats;
end;

// Очистка форматирования в диапазоне ячеек
procedure TForm1.Button1Click(Sender: TObject);
begin
   E.Range['A1:D4'].ClearFormats;
end;


Как вывести на экран окно предварительного просмотра перед печатью выбранной ячейки?

var
  E: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
begin
   E{.ActiveWorkBook}.WorkSheets[1].Cells[1, 1].PrintPreview;
end;


Как вывести на экран окно предварительного просмотра перед печатью выбранного диапазона ячеек?

// Способ первый
procedure TForm1.Button1Click(Sender: TObject);
begin
   E{.ActiveWorkBook}.WorkSheets[1].Range['A1:D4'].PrintPreview;
end;

// Способ второй
procedure TForm1.Button3Click(Sender: TObject);
begin
   E{.ActiveWorkBook}.WorkSheets[1].PageSetup.PrintArea := '$A$1:$D$10';
   // Удалить область печати можно присвоив пустую строку
   // ASheet.PageSetup.PrintArea := '';
   E.WorkSheets[1].PrintPreview;
end;


Как изменить значение ячейки листа в Excel?

// Способ первый
var
  E: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
begin
   E.ActiveWorkBook.WorkSheets[1].Cells[1, 1].Value := 'ля-ля-ля';
end;

// Способ второй
var
  E: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
begin
   E.ActiveWorkBook.WorkSheets[1].Range['A1'].Value := 'ля-ля-ля';
end;


Как изменить значение нескольких ячейки листа в Excel?

var
  E: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
begin
   E.ActiveWorkBook.WorkSheets[1].Range['A1;B2;C3'] := 'ля-ля-ля';
end;


Как объеденить несколько ячеек не листе в Excel?

var
  E: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
begin
   // Объединение нескольких ячеек в строке
   E.ActiveWorkBook.WorkSheets[1].Range['A1:D1'].MergeCells := True;

   // Объединение нескольких ячеек в нескольких строках
   E.ActiveWorkBook.WorkSheets[1].Range['A1:D1;A2:B2'].MergeCells := True;

   // Объединение нескольких ячеек в столбце
   E.ActiveWorkBook.WorkSheets[1].Range['A1:A4'].MergeCells := True;

   // Объединение нескольких ячеек в нескольких столбцах
   E.ActiveWorkBook.WorkSheets[1].Range['A1:A4;B1:B2'].MergeCells := True;   
   
   // Объединение нескольких ячеек в нескольких строках и столбцах
   E.ActiveWorkBook.WorkSheets[1].Range['A1:D4'].MergeCells := True;
end;


Как получить доступ к диапазону ячеек в Excel без использования буквенных обозначений?

var
  E: OleVariant;

procedure TForm1.Button1Click(Sender: TObject);
var
  Cell1, Cell2: OleVariant;
begin
   Cell1 := E.ActiveWorkBook.WorkSheets[1].Cells[1,1];
   Cell2 := E.ActiveWorkBook.WorkSheets[1].Cells[4,4];
   E.ActiveWorkBook.WorkSheets[1].Range[Cell1, Cell2].MergeCells := True;
end;

При использовании материала - ссылка на сайт обязательна