Document.Bookmarks.Item['BookmarkName'].Delete;
procedure WordDeleteBookmark(rBookMark: string);
var
Name: OLEVariant;
begin
Name := rBookmark;
Form1.worddocument1.Bookmarks.Item(Name).Delete;
end;
Here is the translation of the Delphi code into Russian:
Строки 1-2:
Document.Bookmarks.Item['BookmarkName'].Delete;
Эта строка использует коллекцию объектов Bookmarks для доступа к закладке с именем 'BookmarkName' и затем вызывает метод Delete, чтобы удалить ее.
Процедура WordDeleteBookmark
procedure WordDeleteBookmark(rBookMark: string);
Это процедура, которая принимает параметр stringrBookMark, представляющий имя закладки для удаления.
Декларация переменной
var
Name: OLEVariant;
Эта строка декларирует переменную Name типа OLEVariant. Это потому, что коллекция объектов Bookmarks использует тип OLEVariant для индексации.
Implementation кода
begin
Name := rBookmark; // присваиваем имя закладки переменной
Form1.worddocument1.Bookmarks.Item(Name).Delete; // удаляем закладку
end;
Код присваивает значение параметра rBookmark переменной Name, а затем использует коллекцию объектов Bookmarks для доступа к закладке с тем именем и удаляет ее.
Альтернативное решение:
Вместо использования типа OLEVariant можно использовать тип string для индексации. Вам нужно будет модифицировать код следующим образом:
procedure WordDeleteBookmark(rBookMark: string);
var
Name: string;
begin
Name := rBookmark;
Form1.worddocument1.Bookmarks.Item[Name].Delete;
end;
Таким образом, вы можете избежать использования типа OLEVariant и сделать код более простым.
В статье описывается способ удаления закладки в Microsoft Word с помощью кода VBA и процедуры на языке Delphi.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS