Вторник, 17.10.2017, 06:44
Приветствую Вас Гость | RSS

DELPHI Report

Каталог статей Delphi Report

Главная » Статьи » MS Office (MS Word, MS Excel ) » MS Excel

1.2 Суперфункции EXCEL (продолжение)

 После внесения изменений необходимо сохранить рабочую книгу. Для этого используем метод SaveAs коллекции Workbooks или объекта ActiveWorkbook. Функция SaveWorkBookAs реализует эту возможность на Delphi. Используем E.DisplayAlerts:=False(True) для отключения (включения) диалогового окна подтверждения записи.

Code:

Function SaveWorkBookAs(file_:string): boolean;

begin

SaveWorkBookAs:=true;

try

E.DisplayAlerts:=False;

E.ActiveWorkbook.SaveAs(file_);

E.DisplayAlerts:=True;

except

SaveWorkBookAs:=false;

end;

End;

 Одновременно может быть открыто несколько книг, в которые вносится или из которых получается информация. Их количество содержится в свойстве Count коллекции WorkBooks. Используя следующий оператор на Visual Basic, можем получить их имена.

For a_ = 1 To Application.Workbooks.Count

MsgBox (Application.Workbooks.Item(a_).Name)

Next a_

Для активации любой книги из списка используем процедуру Activate. Смотрите пример:

Windows("Книга1").Activate

Эти возможности можно реализовать в Delphi как набор отдельных функций.

Для закрытия книги используется метод Close коллекции Workbooks или объекта ActiveWorkbook. Функция CloseWorkBook закрывает активный документ.

Code:

Function CloseWorkBook:boolean;

begin

CloseWorkBook:=true;

try

E.ActiveWorkbook.Close;

except

CloseWorkBook:=false;

end;

End;

 Excel закрывается методом Quit объекта Application.

Code:

Function CloseExcel:boolean;

begin

CloseExcel:=true;

try

E.Quit;

except

CloseExcel:=false;

end;

End;

 После того, как создан минимальный набор функций, можно переходить к демонстрации возможностей программирования Excel. Для этого создадим форму и разместим на ней кнопку. В программной части укажем ссылку на используемую библиотеку MyExcel, в процедуре отклика на нажатие запишем следующий программный текст:

Code:

procedure TForm1.Button1Click (Sender: TObject);

var a_:integer;

begin

if not CreateExcel then exit;

messagebox(handle,'','Запускаем Excel.',0);

VisibleExcel(true);

messagebox(handle,'','Отобразили Excel на экране.',0);

if AddWorkBook then begin

messagebox(handle,'','Создали новую книгу.',0);

AddSheet('Новый лист');

messagebox(handle,'','Добавили новый лист.',0);

DeleteSheet(2);

messagebox(handle,'','Удалили лист №2.',0);

GetSheets(ListBox1.Items);

messagebox(handle,'','Получили список листов!',0);

for a_:=1 to CountSheets do begin

  ListBox1.ItemIndex:=a_-1;

  SelectSheet(ListBox1. Items.Strings[a_-1]);

  messagebox(handle,'',

   pchar('Выбираем лист '+ListBox1.Items.Strings[a_-1]+'!'),0);

end;

SaveWorkBookAs('c:\1.xls');

messagebox(handle,'','Сохранили книгу как "c:\1.xls".',0);

CloseWorkBook;

messagebox(handle,'','Закрыли книгу "c:\1.xls".',0);

end;

CloseExcel;

end;

 Мы рассмотрели общий вид объектной модели Excel и примеры нескольких функций работы с книгами и листами. Далее изучим вопросы записи (чтения) информации в ячейки и программирование их свойств.


Читать "Доступ к ячейкам"



Василий КОРНЯКОВ

Литература: Н. Елманова, С. Трепалин, А.Тенцер, "Delphi 6 и технология COM", "Питер", 2002.

Категория: MS Excel | Добавил: delphi (01.09.2008)
Просмотров: 2724 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Меню сайта
Google
Форма входа
Категории раздела
MS Excel [22]MS Word [18]
Поиск
Друзья сайта
Статистика
Copyright MyCorp © 2017