Word.Bookmark class

Представляет одну закладку в документе, выделенном фрагменте или диапазоне. Объект Bookmark является членом семейства Bookmark . Word. BookmarkCollection включает все закладки, перечисленные в диалоговом окне "Закладка" (меню "Вставка").

Extends

Комментарии

Набор API: WordApiDesktop 1.4

Используется

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/manage-range-bookmarks.yaml

// Read bookmark properties and the text enclosed by each bookmark.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange();
    const bookmarks: Word.BookmarkCollection = paragraphRange.bookmarks;
    bookmarks.load("items/name,items/start,items/end,items/isEmpty,items/isColumn,items/storyType,items/range/text");
    await context.sync();
    console.log(`Bookmarks found: ${bookmarks.items.length}`);
    bookmarks.items.forEach((bookmark: Word.Bookmark) => {
        console.log("Bookmark details:", {
            name: bookmark.name,
            start: bookmark.start,
            end: bookmark.end,
            isEmpty: bookmark.isEmpty,
            isColumn: bookmark.isColumn,
            storyType: bookmark.storyType,
            text: bookmark.range.text
        });
    });
});

Свойства

context

Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office.

end

Определяет позицию завершающего знака закладки.

isColumn

Возвращает true , если закладка является столбцом таблицы.

isEmpty

Возвращается true , если закладка пуста.

name

Возвращает имя Bookmark объекта.

range

Возвращает объект, Range представляющий часть документа, содержащуюся в объекте Bookmark .

start

Задает начальную позицию знака закладки.

storyType

Возвращает тип истории для закладки.

Методы

copyTo(name)

Копирует эту закладку на новую закладку, указанную в аргументе, name и возвращает объект.Bookmark

delete()

Удаляет закладку.

load(options)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNames)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNamesAndPaths)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

select()

Выбор закладки.

set(properties, options)

Задает несколько свойств объекта одновременно. Вы можете передать либо простой объект с соответствующими свойствами, либо другой объект API того же типа.

set(properties)

Одновременно задает несколько свойств объекта на основе существующего загруженного объекта.

toJSON()

Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringify, в свою очередь, вызывает toJSON метод переданного ему объекта.) В то время как исходный Word.Bookmark объект является объектом API, toJSON метод возвращает простой объект JavaScript (типизированный как Word.Interfaces.BookmarkData), который содержит неглубокие копии любых загруженных дочерних свойств исходного объекта.

track()

Отслеживает объект для автоматической корректировки с учетом окружающих изменений в документе. Этот вызов является сокращением от context.trackedObjects.add(thisObject). Если вы используете этот объект во всех .sync вызовах и вне последовательного выполнения пакета ".run" и получаете сообщение об ошибке "InvalidObjectPath" при установке свойства или вызове метода объекта, необходимо добавить объект в коллекцию отслеживаемых объектов при его первом создании. Если этот объект является частью семейства, следует также отслеживать родительскую коллекцию.

untrack()

Освобождает память, связанную с этим объектом, если он ранее отслеживался. Этот вызов является сокращением от context.trackedObjects.remove(thisObject). Наличие большого количества отслеживаемых объектов замедляет ведущее приложение, поэтому не забывайте освобождать любые добавленные объекты после завершения их использования. Вам нужно позвонить context.sync() , прежде чем освобождение памяти вступит в силу.

Сведения о свойстве

context

Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office.

context: RequestContext;

Значение свойства

end

Определяет позицию завершающего знака закладки.

end: number;

Значение свойства

number

Комментарии

Набор API: WordApiDesktop 1.4

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/manage-range-bookmarks.yaml

// Move the bookmark's end before the summary's final period.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange(Word.RangeLocation.content);
    const bookmarks: Word.BookmarkCollection = paragraphRange.bookmarks;
    bookmarks.load("items/name,items/start");
    paragraphRange.load("end");
    await context.sync();

    const summaryBookmark: Word.Bookmark = bookmarks.items.find((bookmark) => bookmark.name === "RangeSampleSummary");
    if (!summaryBookmark) {
        console.warn("RangeSampleSummary was not found. Choose Insert bookmark first.");
        return;
    }

    const newEnd = paragraphRange.end - 1;
    if (newEnd <= summaryBookmark.start) {
        console.warn("The bookmark is too short. Run Set up and Insert bookmark again.");
        return;
    }

    summaryBookmark.end = newEnd;
    await context.sync();
    console.log("Moved the bookmark end before the final period. Get bookmark details to verify the enclosed text.");
});

isColumn

Возвращает true , если закладка является столбцом таблицы.

readonly isColumn: boolean;

Значение свойства

boolean

Комментарии

Набор API: WordApiDesktop 1.4

isEmpty

Возвращается true , если закладка пуста.

readonly isEmpty: boolean;

Значение свойства

boolean

Комментарии

Набор API: WordApiDesktop 1.4

name

Возвращает имя Bookmark объекта.

readonly name: string;

Значение свойства

string

Комментарии

Набор API: WordApiDesktop 1.4

range

Возвращает объект, Range представляющий часть документа, содержащуюся в объекте Bookmark .

readonly range: Word.Range;

Значение свойства

Комментарии

Набор API: WordApiDesktop 1.4

start

Задает начальную позицию знака закладки.

start: number;

Значение свойства

number

Комментарии

Набор API: WordApiDesktop 1.4

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/manage-range-bookmarks.yaml

// Move the bookmark's start past the word "Project" without changing the document text.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange(Word.RangeLocation.content);
    const bookmarks: Word.BookmarkCollection = paragraphRange.bookmarks;
    bookmarks.load("items/name,items/end");
    paragraphRange.load("start");
    await context.sync();

    const summaryBookmark: Word.Bookmark = bookmarks.items.find((bookmark) => bookmark.name === "RangeSampleSummary");
    if (!summaryBookmark) {
        console.warn("RangeSampleSummary was not found. Choose Insert bookmark first.");
        return;
    }

    const newStart = paragraphRange.start + "Project ".length;
    if (newStart >= summaryBookmark.end) {
        console.warn("The bookmark is too short. Run Set up and Insert bookmark again.");
        return;
    }

    summaryBookmark.start = newStart;
    await context.sync();
    console.log("Moved the bookmark start past 'Project '. Get bookmark details to verify the enclosed text.");
});

storyType

Возвращает тип истории для закладки.

readonly storyType: Word.StoryType | "MainText" | "Footnotes" | "Endnotes" | "Comments" | "TextFrame" | "EvenPagesHeader" | "PrimaryHeader" | "EvenPagesFooter" | "PrimaryFooter" | "FirstPageHeader" | "FirstPageFooter" | "FootnoteSeparator" | "FootnoteContinuationSeparator" | "FootnoteContinuationNotice" | "EndnoteSeparator" | "EndnoteContinuationSeparator" | "EndnoteContinuationNotice";

Значение свойства

Word.StoryType | "MainText" | "Footnotes" | "Endnotes" | "Comments" | "TextFrame" | "EvenPagesHeader" | "PrimaryHeader" | "EvenPagesFooter" | "PrimaryFooter" | "FirstPageHeader" | "FirstPageFooter" | "FootnoteSeparator" | "FootnoteContinuationSeparator" | "FootnoteContinuationNotice" | "EndnoteSeparator" | "EndnoteContinuationSeparator" | "EndnoteContinuationNotice"

Комментарии

Набор API: WordApiDesktop 1.4

Сведения о методе

copyTo(name)

Копирует эту закладку на новую закладку, указанную в аргументе, name и возвращает объект.Bookmark

copyTo(name: string): Word.Bookmark;

Параметры

name

string

Имя новой закладки.

Возвращаемое значение

Комментарии

Набор API: WordApiDesktop 1.4

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/manage-range-bookmarks.yaml

// Create another named bookmark over the same text as the summary bookmark.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange(Word.RangeLocation.content);
    const bookmarks: Word.BookmarkCollection = paragraphRange.bookmarks;
    bookmarks.load("items/name");
    await context.sync();

    const summaryBookmark: Word.Bookmark = bookmarks.items.find((bookmark) => bookmark.name === "RangeSampleSummary");
    if (!summaryBookmark) {
        console.warn("RangeSampleSummary was not found. Choose Insert bookmark first.");
        return;
    }
    if (bookmarks.items.some((bookmark) => bookmark.name === "RangeSampleCopy")) {
        console.warn("RangeSampleCopy already exists. Delete the copied bookmark before copying again.");
        return;
    }

    summaryBookmark.copyTo("RangeSampleCopy");
    await context.sync();
    console.log("Created RangeSampleCopy over the same text. Get bookmark details to inspect both names.");
});

delete()

Удаляет закладку.

delete(): void;

Возвращаемое значение

void

Комментарии

Набор API: WordApiDesktop 1.4

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/manage-range-bookmarks.yaml

// Delete the copied bookmark without deleting its text or the original bookmark.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange(Word.RangeLocation.content);
    const bookmarks: Word.BookmarkCollection = paragraphRange.bookmarks;
    bookmarks.load("items/name");
    await context.sync();

    const copiedBookmark: Word.Bookmark = bookmarks.items.find((bookmark) => bookmark.name === "RangeSampleCopy");
    if (!copiedBookmark) {
        console.warn("RangeSampleCopy was not found. Choose Copy bookmark first.");
        return;
    }

    copiedBookmark.delete();
    await context.sync();
    console.log("Deleted RangeSampleCopy. Its text and RangeSampleSummary remain. Check copied bookmark to verify.");
});

load(options)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(options?: Word.Interfaces.BookmarkLoadOptions): Word.Bookmark;

Параметры

options
Word.Interfaces.BookmarkLoadOptions

Предоставляет параметры для загружаемых свойств объекта.

Возвращаемое значение

load(propertyNames)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNames?: string | string[]): Word.Bookmark;

Параметры

propertyNames

string | string[]

Строка с разделителями-запятыми или массив строк, которые определяют свойства для загрузки.

Возвращаемое значение

load(propertyNamesAndPaths)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNamesAndPaths?: {
            select?: string;
            expand?: string;
        }): Word.Bookmark;

Параметры

propertyNamesAndPaths

{ select?: string; expand?: string; }

propertyNamesAndPaths.select — это строка с разделителями-запятыми, указывающая загружаемые свойства, и строка propertyNamesAndPaths.expand через запятую, указывающая свойства навигации для загрузки.

Возвращаемое значение

select()

Выбор закладки.

select(): void;

Возвращаемое значение

void

Комментарии

Набор API: WordApiDesktop 1.4

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/manage-range-bookmarks.yaml

// Select the summary bookmark's current text in the document.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange(Word.RangeLocation.content);
    const bookmarks: Word.BookmarkCollection = paragraphRange.bookmarks;
    bookmarks.load("items/name");
    await context.sync();

    const summaryBookmark: Word.Bookmark = bookmarks.items.find((bookmark) => bookmark.name === "RangeSampleSummary");
    if (!summaryBookmark) {
        console.warn("RangeSampleSummary was not found. Choose Insert bookmark first.");
        return;
    }

    summaryBookmark.select();
    await context.sync();
    console.log("Selected RangeSampleSummary in the document.");
});

set(properties, options)

Задает несколько свойств объекта одновременно. Вы можете передать либо простой объект с соответствующими свойствами, либо другой объект API того же типа.

set(properties: Interfaces.BookmarkUpdateData, options?: OfficeExtension.UpdateOptions): void;

Параметры

properties
Word.Interfaces.BookmarkUpdateData

Объект JavaScript со свойствами, структурированными изоморфно свойствам объекта, для которого вызывается метод.

options
OfficeExtension.UpdateOptions

Предоставляет возможность подавления ошибок, если объект properties пытается задать какие-либо свойства только для чтения.

Возвращаемое значение

void

set(properties)

Одновременно задает несколько свойств объекта на основе существующего загруженного объекта.

set(properties: Word.Bookmark): void;

Параметры

properties
Word.Bookmark

Возвращаемое значение

void

toJSON()

Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringify, в свою очередь, вызывает toJSON метод переданного ему объекта.) В то время как исходный Word.Bookmark объект является объектом API, toJSON метод возвращает простой объект JavaScript (типизированный как Word.Interfaces.BookmarkData), который содержит неглубокие копии любых загруженных дочерних свойств исходного объекта.

toJSON(): Word.Interfaces.BookmarkData;

Возвращаемое значение

track()

Отслеживает объект для автоматической корректировки с учетом окружающих изменений в документе. Этот вызов является сокращением от context.trackedObjects.add(thisObject). Если вы используете этот объект во всех .sync вызовах и вне последовательного выполнения пакета ".run" и получаете сообщение об ошибке "InvalidObjectPath" при установке свойства или вызове метода объекта, необходимо добавить объект в коллекцию отслеживаемых объектов при его первом создании. Если этот объект является частью семейства, следует также отслеживать родительскую коллекцию.

track(): Word.Bookmark;

Возвращаемое значение

untrack()

Освобождает память, связанную с этим объектом, если он ранее отслеживался. Этот вызов является сокращением от context.trackedObjects.remove(thisObject). Наличие большого количества отслеживаемых объектов замедляет ведущее приложение, поэтому не забывайте освобождать любые добавленные объекты после завершения их использования. Вам нужно позвонить context.sync() , прежде чем освобождение памяти вступит в силу.

untrack(): Word.Bookmark;

Возвращаемое значение