Открыть Excel Delphi Если Уже Открыт • Первое решение

Часть 3. Использование COM-серверов Microsoft Office

В этом разделе приводятся краткое описание основных объектов двух наиболее популярных серверов — Excel и Word, а также примеры использования Excel в стиле VBA (по имени) и с помощью компонентов страницы Servers. Поскольку специально для версии MS Office 97 язык VBA был существенно расширен, этот материал нельзя использовать для работы с более ранними версиями пакета.

Основные объекты серверов Excel и Word

Объекты Excel

На рис. 1 представлена функциональная структура объектов и коллекций Excel.

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

Объекты Word

На рис. 2 показана функциональная иерархия объектов Word.

Позднее связывание

На рис. 3 показан прайс-лист в окне Excel, а на рис. 4 — вид формы примера на этапе конструирования.

Перед началом работы над проектом следует скопировать все файлы BOOKS.* в отдельную папку на жестком диске (потребуется чуть больше 800 Кбайт свободного пространства) и связать с папкой псевдоним BDE BIBLDATA типа Standard. Эту процедуру упростит программа SetupBooks.exe, расположенная в том же каталоге CD-ROM.

Начните новый проект и поместите на форму компоненты Query1, Label1, Button1 и ProgressBar1. Для компонента Query1 измените значение свойства Name на Books, свяжите его с псевдонимом BIBLDATA и поместите в свойство SQL такой запрос:

Создайте для него все объекты-поля. В свойство Caption компонента Label1 поместите значение Щелкните по кнопке Пуск, чтобы создать таблицу Excel, в такое же свойство кнопки — значение Пуск и измените имя компонента ProgressBar1 на pb.

В окне кода в разделе private класса TForm1 поместите поле Excel типа Variant. В предложении uses укажите ссылку на модуль COMObj и напишите следующий обработчик события OnClick кнопки Button1 (см. листинг 1).

Переменная Excel определяет поле класса TForm1. При создании класса в него автоматически помещается значение VarEmpty. После завершения работы с Excel пользователь может закрыть его. Но в моей программе Excel не визуализировался, его работа проходила «за кулисами», а созданная таблица записывалась в указанный пользователем файл с помощью оператора Excel.Workbooks[1].SaveAs(FileName).

После этого Excel закрывался. Поскольку в нашем случае Excel показывает свое окно, а пользователь может его не закрыть, полезно написать такой обработчик события OnDestroy формы:

Запуская пример, помните, что создание прайс-листа с помощью Excel — процесс достаточно длительный. На моем компьютере (400 МГц, 64 Мбайт) он занял около минуты (для примера — аналогичный прайс-лист средствами Quick Report создается менее чем за 2 с). В конце обработчика в метку lb помещается общее время работы.

Раннее связывание

Как видите, он во многом напоминает обработчик предыдущего примера. Поэтому остановлюсь на различиях.

Все мои попытки работать с объектами Range оказались неудачными. Чтобы вы не слишком осуждали меня, я поместил библиотеку типов Excel_TLB.pas в каталог размещения примера — полистайте ее на досуге и попробуйте найти нужное решение для изменения ширины колонок и полей листа, а также для раскрашивания диапазона, выравнивания текста и т.п.

Есть свои нюансы и при обращении к ячейкам. Во-первых, ими владеет объект Application, а не Sheet. Во-вторых, обращение к конкретному элементу коллекции Cells (как и любой другой коллекции) возможно только через ее свойство Item.

Редактирование таблиц MS Excel с помощью Delphi и ADO
Если вы хотите подключиться к внешнему формату базы данных, поддерживаемому Jet, вам необходимо установить расширенные свойства для подключения. В нашем случае при подключении к «базе данных» Excel используются расширенные свойства для установки версии файла Excel.
эксперт
Мнение эксперта
Михаил Соловьев, консультант по вопросам работы с продуктами Microsoft
Если у вас возникнут сложности, я помогу разобраться!
Задать вопрос эксперту
Автоматизация предоставляет способ чтения данных Excel с помощью объектной модели Excel для погружения в рабочий лист, извлечения его данных и отображения их внутри сеточного компонента, а именно DBGrid или StringGrid. Если же вы хотите что-то уточнить, обращайтесь ко мне!
Если вы используете обновление виртуализации взаимодействия с пользователем (UE-V), установите исправление 2927019. Для этого см. Пакет исправления 1 для виртуализации взаимодействия с пользователем Microsoft 2.0.
Урок 5 Создание, экспорт и печать отчета (DELPHI FastReport) | Виктор Восонов

Excel открывает пустой экран, если дважды щелкнуть значок или имя файла — Office | Microsoft Docs

Silverlight Excel Автоматизация Factory API Документация Привет, я использую фабрику автоматизации Excel для экспорта данных из silverlight в excel. Проблема в том, что я не могу найти документацию по использованию excel таким образом. Все, что я мог найти, где какой-то небольшой учебник, из.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector