Рассмотрим еще один тип элементов управления приложения Excel — эле-
менты коллекции Dialogs. Коллекция Dialogs имеет небольшой список
свойств, два из которых это количество элементов коллекции (свойство
Count) и ссылка на элементы коллекции (свойство Item(i:Integer), где i —
индекс диалога в коллекции). Чтобы ознакомиться со всем списком и зна-
чениями индексов и аргументов диалогов, достаточно открыть справочную
систему MS Excel на нужной странице. Здесь мы рассмотрим только общие
принципы вызова диалогов из приложений, разработанных в среде Delphi, и
несколько примеров их использования.
Каждый элемент диалога имеет метод и свойства. Свойства элементов кол-
лекции диалогов можно не рассматривать. Для каждого диалога мы распо-
лагаем одним методом — Show. Его можно вызывать с аргументами, кото-
рые определяются типом самого диалога. Метод Show возвращает значение
True, если диалог завершен выбором (например, нажатием кнопки ОК), или
False, если пользователь отменил выбор и диалог закрыт. Следующая про-
цедура позволяет получить количество различных диалогов, используемых
в Excel.
Определение количества диалогов в Excel
procedure TForml.Button7Click(Sender: TObject);
var count_:integer;
begin
count_:=E.Dialogs.count;
messagebox(handle,pchar(inttostr(count_)),
'Количество элементов коллекции диалогов',0);
end;
На рис. 16.24 представлен результат выполнения данной процедуры.
Рис. 16.24. Количество диалогов в Excel составляет несколько сотен
Рассмотрим вызов метода Show элемента коллекции диалогов. Этот метод
можно вызывать как без аргументов, так и с аргументами. Если для кон-
кретного диалога при вызове заданы аргументы, то обычно они служат для
настройки некоторых его полей и свойств.
Примечание
Список аргументов можно получить в справочной системе MS Excel.
При вызове метода обычно не используются реальные имена аргументов,
указанные в справочной системе. Наименование аргумента представляет
собой сочетание символьной строки arg и номера аргумента, например:
argl:=2;
В табл. 16.9 представлены списки аргументов для двух диалогов. Этот спи-
сок является частью списка справочной системы.
Воспользуемся этой информацией, чтобы при вызове диалога открытия до-
кумента подставить в поле Имя файла нужное нам значение.
Таблица 16.9. Аргументы метода Show для диалогов
Задание имени файла в диалоге открытия документа
procedure TForml.ButtonllClick(Sender: TObject);
begin
E.Dialogs.Item[xlDialogOpen].Show(argl:='Моя рабочая книга');
end;
Результат выполнения данного диалога представлен на рис. 16.25.
Рис. 16.25. Подставляем имя файла в диалог открытия документа
Далее вызовем диалог сохранения документа в файле, при этом зададим имя
файла непосредственно во время вызова диалога.
Задание имени файла в диалоге сохранения рабочей книги
procedure TForml.Buttonl5Click(Sender: TObject);
begin
E.Dialogs.Item[xlDialogSaveAs].Show(arg1:='Подставляем собственное имя файла');
end;
Вид диалога показан на рис. 16.26.
Рис. 16.26. Подставляем имя файла в диалог сохранения документа |