Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

"Как вставить гиперссылку в HTML-документ с помощью OleContainer в Microsoft Word?"

Delphi , Технологии , OLE

Как вставить гиперссылку в HTML-документ с помощью OleContainer в Microsoft Word?

Если вы разрабатываете программу на Delphi, которая использует Microsoft Word в качестве редактора для HTML-документов, вам может потребоваться вставлять гиперссылки в открытый документ. В данной статье мы рассмотрим, как это можно сделать, используя компонент OleContainer.

Проблема

Пользователь хочет использовать Microsoft Word в качестве редактора для HTML-документов. После открытия HTML-документа в Word через OleContainer, пользователю необходимо иметь возможность выбирать файлы из списка и добавлять их как гиперссылки в открытый документ в том месте, которое он выделяет.

Решение

Для добавления гиперссылки в активный документ Word, используя OleContainer, можно воспользоваться следующим кодом:

procedure TForm1.Button1Click(Sender: TObject);
begin
  OleContainer1.OleObject.ActiveDocument.Hyperlinks.Add(
    Anchor := OleContainer1.OleObject.Selection.Range,
    Address := Edit1.Text,  // содержит, например, http://www.bbc.co.uk
    TextToDisplay := 'Ссылка'
  );
end;

Важно отметить, что OleContainer1.OleObject является ссылкой на объект Word.Application. После получения этой ссылки, можно вызывать методы автоматизации Word с использованием позднего (или раннего) связывания.

Обновление

В случае возникновения ошибки "Method 'Selection' not supported by automation object", убедитесь, что у вас установлена ассоциация между HTML и MS Word. В событии FormCreate можно активировать Word и загрузить HTML-файл следующим образом:

procedure TForm1.FormCreate(Sender: TObject);
var
  V: OleVariant;
  AFileName: String;
begin
  OleContainer1.CreateObject('Word.Application', False);
  OleContainer1.Run;
  V := OleContainer1.OleObject;
  Caption := V.Name;
  V.Visible := True;
  AFileName := ExtractFilePath(Application.ExeName) + 'Hello.Html';
  V.Documents.Add(AFileName);
end;

Этот код и процедура Button1Click составляют весь код проекта, который вставляет ссылку в документ Word, как было запрошено.

Примечание

Пользователь в комментариях сообщил, что после некоторых изменений код заработал. Он изменил порядок вызова метода ActiveDocument.Hyperlinks.Add, используя OleContainer1.OleObject.Application, и это позволило добавить гиперссылку. Также было замечено, что Word изменяет путь в ссылке, убирая полный путь и заменяя его относительным.


Эта статья предоставляет пошаговое руководство по добавлению гиперссылок в HTML-документы, открытые в Microsoft Word через OleContainer в среде разработки Delphi.

Создано по материалам из источника по ссылке.

Описание: В статье рассматривается проблема и решение для добавления гиперссылок в HTML-документы, редактируемые через Microsoft Word с использованием компонента OleContainer в среде разработки Delphi.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: OLE ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2024-12-26 16:31:10/0.0033318996429443/0