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

Вставить текст на месте закладки в MS Word

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

Вставить текст на месте закладки в MS Word

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

uses
   ComObj;

 procedure TForm1.Button1Click(Sender: TObject);
 const
   // Word Document to open 
  // Dein Word Dokument 
  YourWordDocument = 'c:\test\worddoc.doc';
 var
   BookmarkName, Doc, R: OleVariant;
 begin
   // Start a Word instance 
  // Word Instanz Starten 
  try
     WordApp := CreateOleObject('Word.Application');
   except
     ShowMessage('Could not start MS Word!');
   end;
   // Open your Word document 
  // Dok. offnen 
  WordApp.Documents.Open(YourWordDocument);
   Doc := WordApp.ActiveDocument;

   // name of your bookmark 
  // Name der Textmarke 
  BookmarkName := 'MyBookMark';

   // Check if bookmark exists 
  // Uberprufen, ob Textmarke vorhanden 
  if Doc.Bookmarks.Exists(BookmarkName) then
   begin
     R := Doc.Bookmarks.Item(BookmarkName).Range;
     // Add text at our bookmark 
    // Text bei Textmarke einfugen 
    R.InsertAfter('Text bei Textmarke');
     // You make a text formatting like changing its color 
    // Man kann nun auch den Text formatieren. z.B die Farbe wechseln. 
    R.Font.Color := clRed;
   end;

   // Save your document and quit Word 
  // Dokument Speichern und Word beenden. 
  if not VarIsEmpty(WordApp) then
   begin
     WordApp.DisplayAlerts := 0;
     WordApp.Documents.Item(1).Save;
     WordApp.Quit;
     BookmarkName := Unassigned;
     R := Unassigned;
     WordApp := Unassigned;
   end;
 end;

Вот перевод текста на русский язык:

Переменные и константы

  • YourWordDocument: Путь к файлу документа Microsoft Word (c:\test\worddoc.doc).
  • BookmarkName: Имя закладки, где будет вставлен текст (MyBookMark).
  • Doc, R: Переменные для взаимодействия с документом Microsoft Word и закладкой.

Главная процедура

Главная процедура - Button1Click, которая вызывается при клике кнопки. Вот что она делает:

  1. Создание экземпляра Word: Создает экземпляр Microsoft Word с помощью CreateOleObject и присваивает его переменной WordApp.
  2. Открытие документа Word: Открывает указанный файл документа Microsoft Word (YourWordDocument) с помощью WordApp.Documents.Open.
  3. Получение диапазона закладки: Проверяет, существует ли закладка с именем BookmarkName в документе, и если да, то получает ее диапазон с помощью Doc.Bookmarks.Item(BookmarkName).Range.
  4. Вставка текста на закладке: Вставляет текст 'Text bei Textmarke' после диапазона закладки с помощью R.InsertAfter.
  5. Форматирование текста: Изменяет цвет вставленного текста на красный с помощью R.Font.Color.

Сохранение и закрытие Word

  1. Сохранение документа: Сохраняет модифицированный документ с помощью WordApp.Documents.Item(1).Save.
  2. Закрытие Word: Закрывает приложение Microsoft Word с помощью WordApp.Quit.
  3. Очистка переменных: Отвязывает переменные, чтобы освободить память.

Примечания

  • Это код использует библиотеку COM Delphi (ComObj) для взаимодействия с приложением Microsoft Word.
  • Код предполагает, что закладка существует в документе и имеет имя MyBookMark. Если закладка не существует, код не будет вставлять текст на это место.
  • Вы можете модифицировать код, чтобы соответствовать вашим конкретным требованиям, например, изменяя вставленный текст или параметры форматирования.

В целом, этот код предоставляет пример основного взаимодействия с Microsoft Word с помощью Delphi и COM.

В статье описывается способ вставки текста на месте закладки в документе Microsoft Word с помощью языка программирования Delphi и использования объектно-ориентированной библиотеки COM.


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

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




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


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


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-10-07 04:32:10/0.0054759979248047/1