Word.Bookmark class
Представляет одну закладку в документе, выделенном фрагменте или диапазоне. Объект Bookmark является членом семейства Bookmark .
Word. BookmarkCollection включает все закладки, перечисленные в диалоговом окне "Закладка" (меню "Вставка").
- Extends
Комментарии
Используется
Примеры
// 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 | Определяет позицию завершающего знака закладки. |
| is |
Возвращает |
| is |
Возвращается |
| name | Возвращает имя |
| range | Возвращает объект, |
| start | Задает начальную позицию знака закладки. |
| story |
Возвращает тип истории для закладки. |
Методы
| copy |
Копирует эту закладку на новую закладку, указанную в аргументе, |
| delete() | Удаляет закладку. |
| load(options) | Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
| load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
| load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
| select() | Выбор закладки. |
| set(properties, options) | Задает несколько свойств объекта одновременно. Вы можете передать либо простой объект с соответствующими свойствами, либо другой объект API того же типа. |
| set(properties) | Одновременно задает несколько свойств объекта на основе существующего загруженного объекта. |
| toJSON() | Переопределяет метод JavaScript |
| track() | Отслеживает объект для автоматической корректировки с учетом окружающих изменений в документе. Этот вызов является сокращением от context.trackedObjects.add(thisObject). Если вы используете этот объект во всех |
| untrack() | Освобождает память, связанную с этим объектом, если он ранее отслеживался. Этот вызов является сокращением от context.trackedObjects.remove(thisObject). Наличие большого количества отслеживаемых объектов замедляет ведущее приложение, поэтому не забывайте освобождать любые добавленные объекты после завершения их использования. Вам нужно позвонить |
Сведения о свойстве
context
Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office.
context: RequestContext;
Значение свойства
end
Определяет позицию завершающего знака закладки.
end: number;
Значение свойства
number
Комментарии
Примеры
// 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
Комментарии
isEmpty
Возвращается true , если закладка пуста.
readonly isEmpty: boolean;
Значение свойства
boolean
Комментарии
name
Возвращает имя Bookmark объекта.
readonly name: string;
Значение свойства
string
Комментарии
range
Возвращает объект, Range представляющий часть документа, содержащуюся в объекте Bookmark .
readonly range: Word.Range;
Значение свойства
Комментарии
start
Задает начальную позицию знака закладки.
start: number;
Значение свойства
number
Комментарии
Примеры
// 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"
Комментарии
Сведения о методе
copyTo(name)
Копирует эту закладку на новую закладку, указанную в аргументе, name и возвращает объект.Bookmark
copyTo(name: string): Word.Bookmark;
Параметры
- name
-
string
Имя новой закладки.
Возвращаемое значение
Комментарии
Примеры
// 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
Комментарии
Примеры
// 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;
Параметры
Предоставляет параметры для загружаемых свойств объекта.
Возвращаемое значение
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
Комментарии
Примеры
// 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;