Вы можете воспользоваться любым интерфейсом, предлагаемым сервером
автоматизации Word. Все реализованные интерфейсы вы можете увидеть при загрузке
MSWORD8.OLB в Delphi, данный файл представляет собой библиотеку типов Word 7.
Для исполнения VB в Word вы можете использовать свойство WordBasic Application.
Следующий пример демонстрирует оба метода:
implementationuses ComObj;
{$R *.DFM}var
V: OleVariant;
procedure TForm1.Button1Click(Sender: TObject);
begin
V := CreateOleObject('Word.Application');
V.ShowMe;
V.WordBasic.FileNew;
V.WordBasic.Insert('тест');
V.Run('mymac');
V.WordBasic.FileSave;
end;
end.
Here's the translation of the content into Russian:
Это программное обеспечение Delphi, которое автоматизирует Microsoft Word с помощью интерфейса COM. Код создает экземпляр приложения Word, отображает его, создает новый документ, вставляет текст, запускает макро и сохраняет документ.
Расшифровка каждого ряда:
uses ComObj; - Это строка включает библиотеку COM-объектов в программе.
{$R *.DFM} - Это строка говорит Delphi включить файл ресурсов (*.DFM), который содержит дизайн формы для этой программы.
var V: OleVariant; - Это строка объявляет переменную V типа OleVariant, которая является вариантом данных, который может хранить значения различных типов, включая COM-объекты.
procedure TForm1.Button1Click(Sender: TObject); - Это строка определяет процедуру, которая будет вызвана при клике кнопки на форме.
V := CreateOleObject('Word.Application'); - Это строка создает экземпляр приложения Word с помощью функции CreateOleObject, которая принимает имя COM-объекта в виде строки. В этом случае мы создаем экземпляр приложения Word.
V.ShowMe; - Это строка делает приложение Word видимым, вызвав метод ShowMe.
V.WordBasic.FileNew; - Это строка создает новый документ в приложении Word с помощью метода FileNew объекта WordBasic, который является интерфейсом к автоматизируемому интерфейсу Word.
V.WordBasic.Insert('тест'); - Это строка вставляет текст в документ с помощью метода Insert объекта WordBasic.
V.Run('mymac'); - Это строка запускает макро в приложении Word с помощью метода Run, передавая имя макро как аргумент.
V.WordBasic.FileSave; - Это строка сохраняет документ с помощью метода FileSave объекта WordBasic.
Альтернативное решение - использовать компонент TWordApplication в панели Component Palette Delphi, который предоставляет более удобный и легкий для использования интерфейс для автоматизации Word. Этот компонент можно опустить на форму и его свойства и методы можно задавать и вызывать напрямую, исключая необходимость явного создания COM-объектов и вызова методов.
Код создает экземпляр компонента TWordApplication, отображает его, добавляет новый документ, вставляет текст, запускает макро и сохраняет документ. Блок try-finally обеспечивает правильное освобождение компонента, когда он больше не нужен.
Автоматизация MS Word позволяет использовать различные интерфейсы, такие как сервер автоматизации Word и свойство WordBasic Application, для выполнения различных действий в программном коде на языке Delphi.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.