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

Процедура поиска закладок и перехода по ним

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

Процедура поиска закладок и перехода по ним


// процедура поиска закладок и перехода по ней

procedure WordGotoBookmark(rBookmark: string);
var
  Whatr: OLEVariant;
  // OleEnum;
  // OLEVariant;
  // What :TWordDocument;
  Which: OLEVariant;
  Count: OLEVariant;
  Name: OLEVariant;
begin
  Whatr := wdGoToBookmark;
  Which := unAssigned;
  Count := unAssigned;
  Name := rBookmark;
  Form1.WrdApp.Selection.GoTo_(Whatr, Which, Count, Name);
end;

Here's the translation of the text into Russian:

Процедура Delphi, именуемая WordGotoBookmark, поискает закладки в Microsoft Word и навигирует к указанной закладке.

Разбивка кода:

  1. Процедура принимает одиночный параметр rBookmark типа string, который представляет имя закладки, которую нужно навигировать.
  2. Локальные переменные объявлены:
    • Whatr: OLEVariant, хранящий значение wdGoToBookmark, которое является константой, представляющей действие "Перейти к закладке".
    • Which: OLEVariant, инициализированный значением unAssigned, который кажется ненужным и может быть удален.
    • Count: OLEVariant, инициализированный значением unAssigned, который также кажется ненужным и может быть удален.
    • Name: OLEVariant, хранящий имя закладки, переданное в параметре (rBookmark).
  3. Процедура использует объект WrdApp (предположительно ссылка на Microsoft Word) и его свойство Selection для навигации к указанной закладке.
  4. Метод GoTo_ вызывается с следующими аргументами:
    • Whatr: действие "Перейти к закладке".
    • Which: ненужный аргумент, который может быть удален.
    • Count: ненужный аргумент, который может быть удален.
    • Name: имя закладки, переданное в параметре (rBookmark).
  5. Процедура заканчивается возвращением управления вызывающей программой.

Альтернативное решение:

Вместо использования типа OLEVariant и присваивания констант, таких как wdGoToBookmark, можно использовать тип Word.WdGoToItem и присвоить соответствующее значение. Это делает код более читаемым и поддерживаемым.

Здесь приведен обновленный вариант процедуры:

procedure WordGotoBookmark(const BookmarkName: string);
var
  What: Word.WdGoToItem;
begin
  What := wdGoToBookmark;
  Form1.WrdApp.Selection.Goto_(What, BookmarkName);
end;

Замечание: я удалил ненужные переменные Which и Count, а также использовал более конкретный тип для переменной What. Я также добавил ключевое слово const к параметру процедуры, чтобы указать, что он не изменяется внутри процедуры.

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


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

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




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


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


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-01-29 06:02:40/0.022307872772217/1