Word.Document class
Объект Document — это объект верхнего уровня. Объект Document содержит один или несколько разделов, элементы управления контентом и основной текст с содержанием документа.
- Extends
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-change-tracking.yaml
// Gets the current change tracking mode.
await Word.run(async (context) => {
const document: Word.Document = context.document;
document.load("changeTrackingMode");
await context.sync();
if (document.changeTrackingMode === Word.ChangeTrackingMode.trackMineOnly) {
console.log("Only my changes are being tracked.");
} else if (document.changeTrackingMode === Word.ChangeTrackingMode.trackAll) {
console.log("Everyone's changes are being tracked.");
} else {
console.log("No changes are being tracked.");
}
});
Свойства
body | Возвращает основной объект документа main. Текст — это текст, который исключает колонтитулы, сноски, текстовые поля и т. д. |
change |
Указывает режим ChangeTracking. |
content |
Возвращает коллекцию объектов элементов управления содержимым в документе. Сюда входят элементы управления содержимым в тексте документа, верхние колонтитулы, текстовые поля и т. д. |
context | Контекст запроса, связанный с объектом . Это соединяет процесс надстройки с процессом ведущего приложения Office. |
custom |
Возвращает пользовательские XML-части в документе. |
properties | Возвращает свойства документа. |
saved | Указывает, сохранены ли изменения, внесенные в документ. Значение true указывает на то, что с момента последнего сохранения в документ не вносились изменения. |
sections | Возвращает коллекцию объектов section в документе. |
settings | Возвращает параметры надстройки в документе. |
Методы
add |
Добавляет стиль в документ по имени и типу. |
add |
Добавляет стиль в документ по имени и типу. |
close(close |
Закрывает текущий документ. Примечание. Этот API не поддерживается в Word в Интернете. |
close(close |
Закрывает текущий документ. Примечание. Этот API не поддерживается в Word в Интернете. |
compare(file |
Отображает знаки редакции, указывающие, где указанный документ отличается от другого документа. |
compare |
Отображает знаки редакции, указывающие, где указанный документ отличается от другого документа. |
delete |
Удаляет закладку, если она существует, из документа. |
get |
Возвращает заметку по идентификатору. Выдает ошибку, |
get |
Возвращает диапазон закладки. Выдает ошибку |
get |
Возвращает диапазон закладки. Если закладка не существует, этот метод вернет объект со свойством |
get |
Возвращает поддерживаемые элементы управления содержимым в документе. |
get |
Возвращает концевые сноски документа в одном тексте. |
get |
Возвращает сноски документа в одном тексте. |
get |
Возвращает абзац по его уникальному локальному идентификатору. Выдает ошибку |
get |
Возвращает текущий выбранный фрагмент документа. Несколько вариантов выбора не поддерживаются. |
get |
Возвращает объект StyleCollection, представляющий весь набор стилей документа. |
import |
Импорт стилей из строки в формате JSON. |
import |
Импорт стилей из строки в формате JSON. |
insert |
Вставляет документ в целевой документ в определенном расположении с дополнительными свойствами. Верхние колонтитулы, водяные знаки и другие свойства разделов копируются по умолчанию. |
load(options) | Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
save(save |
Сохраняет документ. |
save(save |
Сохраняет документ. |
search(search |
Выполняет поиск с указанными параметрами поиска на область всего документа. Результат поиска — это коллекция объектов диапазона. |
set(properties, options) | Задает несколько свойств объекта одновременно. Можно передать обычный объект с соответствующими свойствами или другой объект API того же типа. |
set(properties) | Задает несколько свойств объекта одновременно на основе существующего загруженного объекта. |
toJSON() | Переопределяет метод JavaScript |
track() | Отслеживает объект для автоматической корректировки с учетом окружающих изменений в документе. Этот вызов является сокращением для context.trackedObjects.add(thisObject). Если вы используете этот объект в вызовах |
untrack() | Освобождает память, связанную с этим объектом, если он ранее отслеживался. Этот вызов является сокращенным для context.trackedObjects.remove(thisObject). Наличие большого количества отслеживаемых объектов замедляет ведущее приложение, поэтому не забывайте освобождать любые добавленные объекты после завершения их использования. Вызов потребуется выполнить |
События
on |
Происходит, когда пользователь щелкает заметку (или выбирает ее с помощью клавиш ALT+ВНИЗ). |
on |
Происходит, когда пользователь навевает курсор на заметку. |
on |
Происходит, когда пользователь добавляет одну или несколько заметок. |
on |
Происходит, когда пользователь выполняет действие во всплывающем меню заметки. |
on |
Происходит, когда пользователь удаляет одну или несколько заметок. |
on |
Происходит при добавлении элемента управления содержимым. Запустите context.sync() в обработчике, чтобы получить свойства нового элемента управления содержимым. |
on |
Происходит, когда пользователь добавляет новые абзацы. |
on |
Происходит, когда пользователь изменяет абзацы. |
on |
Происходит, когда пользователь удаляет абзацы. |
Сведения о свойстве
body
Возвращает основной объект документа main. Текст — это текст, который исключает колонтитулы, сноски, текстовые поля и т. д.
readonly body: Word.Body;
Значение свойства
Комментарии
changeTrackingMode
Указывает режим ChangeTracking.
changeTrackingMode: Word.ChangeTrackingMode | "Off" | "TrackAll" | "TrackMineOnly";
Значение свойства
Word.ChangeTrackingMode | "Off" | "TrackAll" | "TrackMineOnly"
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-change-tracking.yaml
// Gets the current change tracking mode.
await Word.run(async (context) => {
const document: Word.Document = context.document;
document.load("changeTrackingMode");
await context.sync();
if (document.changeTrackingMode === Word.ChangeTrackingMode.trackMineOnly) {
console.log("Only my changes are being tracked.");
} else if (document.changeTrackingMode === Word.ChangeTrackingMode.trackAll) {
console.log("Everyone's changes are being tracked.");
} else {
console.log("No changes are being tracked.");
}
});
contentControls
Возвращает коллекцию объектов элементов управления содержимым в документе. Сюда входят элементы управления содержимым в тексте документа, верхние колонтитулы, текстовые поля и т. д.
readonly contentControls: Word.ContentControlCollection;
Значение свойства
Комментарии
context
Контекст запроса, связанный с объектом . Это соединяет процесс надстройки с процессом ведущего приложения Office.
context: RequestContext;
Значение свойства
customXmlParts
Возвращает пользовательские XML-части в документе.
readonly customXmlParts: Word.CustomXmlPartCollection;
Значение свойства
Комментарии
properties
Возвращает свойства документа.
readonly properties: Word.DocumentProperties;
Значение свойства
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/30-properties/get-built-in-properties.yaml
await Word.run(async (context) => {
const builtInProperties: Word.DocumentProperties = context.document.properties;
builtInProperties.load("*"); // Let's get all!
await context.sync();
console.log(JSON.stringify(builtInProperties, null, 4));
});
saved
Указывает, сохранены ли изменения, внесенные в документ. Значение true указывает на то, что с момента последнего сохранения в документ не вносились изменения.
readonly saved: boolean;
Значение свойства
boolean
Комментарии
sections
Возвращает коллекцию объектов section в документе.
readonly sections: Word.SectionCollection;
Значение свойства
Комментарии
settings
Возвращает параметры надстройки в документе.
readonly settings: Word.SettingCollection;
Значение свойства
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-settings.yaml
// Gets all custom settings this add-in set on this document.
await Word.run(async (context) => {
const settings: Word.SettingCollection = context.document.settings;
settings.load("items");
await context.sync();
if (settings.items.length == 0) {
console.log("There are no settings.");
} else {
console.log("All settings:");
for (let i = 0; i < settings.items.length; i++) {
console.log(settings.items[i]);
}
}
});
Сведения о методе
addStyle(name, type)
Добавляет стиль в документ по имени и типу.
addStyle(name: string, type: Word.StyleType): Word.Style;
Параметры
- name
-
string
Обязательно. Строка, представляющая имя стиля.
- type
- Word.StyleType
Обязательно. Тип стиля, включая символ, список, абзац или таблицу.
Возвращаемое значение
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-styles.yaml
// Adds a new style.
await Word.run(async (context) => {
const newStyleName = $("#new-style-name").val() as string;
if (newStyleName == "") {
console.warn("Enter a style name to add.");
return;
}
const style: Word.Style = context.document.getStyles().getByNameOrNullObject(newStyleName);
style.load();
await context.sync();
if (!style.isNullObject) {
console.warn(
`There's an existing style with the same name '${newStyleName}'! Please provide another style name.`
);
return;
}
const newStyleType = ($("#new-style-type").val() as unknown) as Word.StyleType;
context.document.addStyle(newStyleName, newStyleType);
await context.sync();
console.log(newStyleName + " has been added to the style list.");
});
addStyle(name, typeString)
Добавляет стиль в документ по имени и типу.
addStyle(name: string, typeString: "Character" | "List" | "Paragraph" | "Table"): Word.Style;
Параметры
- name
-
string
Обязательно. Строка, представляющая имя стиля.
- typeString
-
"Character" | "List" | "Paragraph" | "Table"
Обязательно. Тип стиля, включая символ, список, абзац или таблицу.
Возвращаемое значение
Комментарии
close(closeBehavior)
Закрывает текущий документ.
Примечание. Этот API не поддерживается в Word в Интернете.
close(closeBehavior?: Word.CloseBehavior): void;
Параметры
- closeBehavior
- Word.CloseBehavior
Необязательный параметр. Поведение закрытия должно быть "Сохранить" или "SkipSave". Значение по умолчанию — "Сохранить".
Возвращаемое значение
void
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/save-close.yaml
// Closes the document with default behavior
// for current state of the document.
await Word.run(async (context) => {
context.document.close();
});
close(closeBehaviorString)
Закрывает текущий документ.
Примечание. Этот API не поддерживается в Word в Интернете.
close(closeBehaviorString?: "Save" | "SkipSave"): void;
Параметры
- closeBehaviorString
-
"Save" | "SkipSave"
Необязательный параметр. Поведение закрытия должно быть "Сохранить" или "SkipSave". Значение по умолчанию — "Сохранить".
Возвращаемое значение
void
Комментарии
compare(filePath, documentCompareOptions)
Отображает знаки редакции, указывающие, где указанный документ отличается от другого документа.
compare(filePath: string, documentCompareOptions?: Word.DocumentCompareOptions): void;
Параметры
- filePath
-
string
Обязательно. Путь к документу, с которым сравнивается указанный документ.
- documentCompareOptions
- Word.DocumentCompareOptions
Необязательный параметр. Дополнительные параметры, указывающие поведение сравнения документа.
Возвращаемое значение
void
Комментарии
[ Набор API: WordApiDesktop 1.1 ]
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/compare-documents.yaml
// Compares the current document with a specified external document.
await Word.run(async (context) => {
// Absolute path of an online or local document.
const filePath = $("#filePath")
.val()
.toString();
// Options that configure the compare operation.
const options: Word.DocumentCompareOptions = {
compareTarget: Word.CompareTarget.compareTargetCurrent,
detectFormatChanges: false
// Other options you choose...
};
context.document.compare(filePath, options);
await context.sync();
console.log("Differences shown in the current document.");
});
compareFromBase64(base64File, documentCompareOptions)
Примечание
Этот API предоставляется в качестве предварительной версии для разработчиков и может быть изменен на основе полученных нами отзывов. Не используйте этот API в рабочей среде.
Отображает знаки редакции, указывающие, где указанный документ отличается от другого документа.
compareFromBase64(base64File: string, documentCompareOptions?: Word.DocumentCompareOptions): void;
Параметры
- base64File
-
string
Обязательно. Содержимое документа в кодировке Base64, с которым сравнивается указанный документ.
- documentCompareOptions
- Word.DocumentCompareOptions
Необязательный параметр. Дополнительные параметры, определяющие поведение для сравнения документов. Обратите внимание, что compareTarget
параметр не может быть CompareTargetSelected
в этом API.
Возвращаемое значение
void
Комментарии
deleteBookmark(name)
Удаляет закладку, если она существует, из документа.
deleteBookmark(name: string): void;
Параметры
- name
-
string
Обязательно. Имя закладки без учета регистра.
Возвращаемое значение
void
Комментарии
getAnnotationById(id)
Возвращает заметку по идентификатору. Выдает ошибку, ItemNotFound
если заметка не найдена.
getAnnotationById(id: string): Word.Annotation;
Параметры
- id
-
string
Идентификатор получаемой заметки.
Возвращаемое значение
Комментарии
getBookmarkRange(name)
Возвращает диапазон закладки. Выдает ошибку ItemNotFound
, если закладка не существует.
getBookmarkRange(name: string): Word.Range;
Параметры
- name
-
string
Обязательно. Имя закладки без учета регистра.
Возвращаемое значение
Комментарии
getBookmarkRangeOrNullObject(name)
Возвращает диапазон закладки. Если закладка не существует, этот метод вернет объект со свойством isNullObject
.true
Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.
getBookmarkRangeOrNullObject(name: string): Word.Range;
Параметры
- name
-
string
Обязательно. Имя закладки без учета регистра.
Возвращаемое значение
Комментарии
getContentControls(options)
Возвращает поддерживаемые элементы управления содержимым в документе.
getContentControls(options?: Word.ContentControlOptions): Word.ContentControlCollection;
Параметры
- options
- Word.ContentControlOptions
Необязательный параметр. Параметры, определяющие возвращаемые элементы управления содержимым.
Возвращаемое значение
Комментарии
Важно! Если в параметре options указаны определенные типы, возвращаются только элементы управления содержимым поддерживаемых типов. Имейте в виду, что при использовании методов универсального Word будет создано исключение. ContentControl, который не относится к конкретному типу. Со временем могут поддерживаться дополнительные типы элементов управления содержимым. Поэтому надстройка должна запрашивать и обрабатывать определенные типы элементов управления содержимым.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/insert-and-change-checkbox-content-control.yaml
// Toggles the isChecked property on all checkbox content controls.
await Word.run(async (context) => {
let contentControls = context.document.getContentControls({
types: [Word.ContentControlType.checkBox]
});
contentControls.load("items");
await context.sync();
const length = contentControls.items.length;
console.log(`Number of checkbox content controls: ${length}`);
if (length <= 0) {
return;
}
const checkboxContentControls = [];
for (let i = 0; i < length; i++) {
let contentControl = contentControls.items[i];
contentControl.load("id,checkboxContentControl/isChecked");
checkboxContentControls.push(contentControl);
}
await context.sync();
console.log("isChecked state before:");
const updatedCheckboxContentControls = [];
for (let i = 0; i < checkboxContentControls.length; i++) {
const currentCheckboxContentControl = checkboxContentControls[i];
const isCheckedBefore = currentCheckboxContentControl.checkboxContentControl.isChecked;
console.log(`id: ${currentCheckboxContentControl.id} ... isChecked: ${isCheckedBefore}`);
currentCheckboxContentControl.checkboxContentControl.isChecked = !isCheckedBefore;
currentCheckboxContentControl.load("id,checkboxContentControl/isChecked");
updatedCheckboxContentControls.push(currentCheckboxContentControl);
}
await context.sync();
console.log("isChecked state after:");
for (let i = 0; i < updatedCheckboxContentControls.length; i++) {
const currentCheckboxContentControl = updatedCheckboxContentControls[i];
console.log(
`id: ${currentCheckboxContentControl.id} ... isChecked: ${currentCheckboxContentControl.checkboxContentControl.isChecked}`
);
}
});
getEndnoteBody()
Возвращает концевые сноски документа в одном тексте.
getEndnoteBody(): Word.Body;
Возвращаемое значение
Комментарии
getFootnoteBody()
Возвращает сноски документа в одном тексте.
getFootnoteBody(): Word.Body;
Возвращаемое значение
Комментарии
getParagraphByUniqueLocalId(id)
Возвращает абзац по его уникальному локальному идентификатору. Выдает ошибку ItemNotFound
, если коллекция пуста.
getParagraphByUniqueLocalId(id: string): Word.Paragraph;
Параметры
- id
-
string
Обязательно. Уникальный локальный идентификатор в стандартном формате GUID 8-4-4-12 без фигурных скобок. Обратите внимание, что идентификатор отличается в разных сеансах и соавторах.
Возвращаемое значение
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/25-paragraph/onadded-event.yaml
await Word.run(async (context) => {
const paragraphId = $("#paragraph-id").val() as string;
const paragraph: Word.Paragraph = context.document.getParagraphByUniqueLocalId(paragraphId);
paragraph.load();
await paragraph.context.sync();
console.log(paragraph);
});
getSelection()
Возвращает текущий выбранный фрагмент документа. Несколько вариантов выбора не поддерживаются.
getSelection(): Word.Range;
Возвращаемое значение
Комментарии
Примеры
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
const textSample = 'This is an example of the insert text method. This is a method ' +
'which allows users to insert text into a selection. It can insert text into a ' +
'relative location or it can overwrite the current selection. Since the ' +
'getSelection method returns a range object, look up the range object documentation ' +
'for everything you can do with a selection.';
// Create a range proxy object for the current selection.
const range = context.document.getSelection();
// Queue a command to insert text at the end of the selection.
range.insertText(textSample, Word.InsertLocation.end);
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Inserted the text at the end of the selection.');
});
getStyles()
Возвращает объект StyleCollection, представляющий весь набор стилей документа.
getStyles(): Word.StyleCollection;
Возвращаемое значение
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-styles.yaml
// Gets the number of available styles stored with the document.
await Word.run(async (context) => {
const styles: Word.StyleCollection = context.document.getStyles();
const count = styles.getCount();
await context.sync();
console.log(`Number of styles: ${count.value}`);
});
importStylesFromJson(stylesJson, importedStylesConflictBehavior)
Импорт стилей из строки в формате JSON.
importStylesFromJson(stylesJson: string, importedStylesConflictBehavior?: Word.ImportedStylesConflictBehavior): OfficeExtension.ClientResult<string[]>;
Параметры
- stylesJson
-
string
Обязательно. Строка в формате JSON, представляющая стили.
- importedStylesConflictBehavior
- Word.ImportedStylesConflictBehavior
Необязательный параметр. Указывает, как обрабатывать импортированные стили с тем же именем, что и существующие стили в текущем документе.
Возвращаемое значение
OfficeExtension.ClientResult<string[]>
Комментарии
Примечание. Параметр importedStylesConflictBehavior
появился в WordApiDesktop 1.1.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/40-tables/manage-custom-style.yaml
// Imports styles from JSON.
await Word.run(async (context) => {
const str =
'{"styles":[{"baseStyle":"Default Paragraph Font","builtIn":false,"inUse":true,"linked":false,"nameLocal":"NewCharStyle","priority":2,"quickStyle":true,"type":"Character","unhideWhenUsed":false,"visibility":false,"paragraphFormat":null,"font":{"name":"DengXian Light","size":16.0,"bold":true,"italic":false,"color":"#F1A983","underline":"None","subscript":false,"superscript":true,"strikeThrough":true,"doubleStrikeThrough":false,"highlightColor":null,"hidden":false},"shading":{"backgroundPatternColor":"#FF0000"}},{"baseStyle":"Normal","builtIn":false,"inUse":true,"linked":false,"nextParagraphStyle":"NewParaStyle","nameLocal":"NewParaStyle","priority":1,"quickStyle":true,"type":"Paragraph","unhideWhenUsed":false,"visibility":false,"paragraphFormat":{"alignment":"Centered","firstLineIndent":0.0,"keepTogether":false,"keepWithNext":false,"leftIndent":72.0,"lineSpacing":18.0,"lineUnitAfter":0.0,"lineUnitBefore":0.0,"mirrorIndents":false,"outlineLevel":"OutlineLevelBodyText","rightIndent":72.0,"spaceAfter":30.0,"spaceBefore":30.0,"widowControl":true},"font":{"name":"DengXian","size":14.0,"bold":true,"italic":true,"color":"#8DD873","underline":"Single","subscript":false,"superscript":false,"strikeThrough":false,"doubleStrikeThrough":true,"highlightColor":null,"hidden":false},"shading":{"backgroundPatternColor":"#00FF00"}},{"baseStyle":"Table Normal","builtIn":false,"inUse":true,"linked":false,"nextParagraphStyle":"NewTableStyle","nameLocal":"NewTableStyle","priority":100,"type":"Table","unhideWhenUsed":false,"visibility":false,"paragraphFormat":{"alignment":"Left","firstLineIndent":0.0,"keepTogether":false,"keepWithNext":false,"leftIndent":0.0,"lineSpacing":12.0,"lineUnitAfter":0.0,"lineUnitBefore":0.0,"mirrorIndents":false,"outlineLevel":"OutlineLevelBodyText","rightIndent":0.0,"spaceAfter":0.0,"spaceBefore":0.0,"widowControl":true},"font":{"name":"DengXian","size":20.0,"bold":false,"italic":true,"color":"#D86DCB","underline":"None","subscript":false,"superscript":false,"strikeThrough":false,"doubleStrikeThrough":false,"highlightColor":null,"hidden":false},"tableStyle":{"allowBreakAcrossPage":true,"alignment":"Left","bottomCellMargin":0.0,"leftCellMargin":0.08,"rightCellMargin":0.08,"topCellMargin":0.0,"cellSpacing":0.0},"shading":{"backgroundPatternColor":"#60CAF3"}}]}';
const styles = context.document.importStylesFromJson(str);
await context.sync();
console.log("Styles imported from JSON:", styles);
});
importStylesFromJson(stylesJson, importedStylesConflictBehaviorString)
Импорт стилей из строки в формате JSON.
importStylesFromJson(stylesJson: string, importedStylesConflictBehaviorString?: "Ignore" | "Overwrite" | "CreateNew"): OfficeExtension.ClientResult<string[]>;
Параметры
- stylesJson
-
string
Обязательно. Строка в формате JSON, представляющая стили.
- importedStylesConflictBehaviorString
-
"Ignore" | "Overwrite" | "CreateNew"
Необязательный параметр. Указывает, как обрабатывать импортированные стили с тем же именем, что и существующие стили в текущем документе.
Возвращаемое значение
OfficeExtension.ClientResult<string[]>
Комментарии
Примечание. Параметр importedStylesConflictBehavior
появился в WordApiDesktop 1.1.
insertFileFromBase64(base64File, insertLocation, insertFileOptions)
Вставляет документ в целевой документ в определенном расположении с дополнительными свойствами. Верхние колонтитулы, водяные знаки и другие свойства разделов копируются по умолчанию.
insertFileFromBase64(base64File: string, insertLocation: Word.InsertLocation.replace | Word.InsertLocation.start | Word.InsertLocation.end | "Replace" | "Start" | "End", insertFileOptions?: Word.InsertFileOptions): Word.SectionCollection;
Параметры
- base64File
-
string
Обязательно. Содержимое файла .docx в кодировке Base64.
Обязательно. Значение должно быть "Replace", "Start" или "End".
- insertFileOptions
- Word.InsertFileOptions
Необязательный параметр. Дополнительные свойства, которые должны быть импортированы в целевой документ.
Возвращаемое значение
Комментарии
Примечание. Вставка не поддерживается, если вставляемый документ содержит элемент ActiveX (вероятно, в поле формы). Рассмотрите возможность замены такого поля формы элементом управления содержимым или другим вариантом, подходящим для вашего сценария.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/insert-external-document.yaml
// Inserts content (applying selected settings) from another document passed in as a Base64-encoded string.
await Word.run(async (context) => {
// Use the Base64-encoded string representation of the selected .docx file.
context.document.insertFileFromBase64(externalDocument, "Replace", {
importTheme: true,
importStyles: true,
importParagraphSpacing: true,
importPageColor: true,
importChangeTrackingMode: true,
importCustomProperties: true,
importCustomXmlParts: true,
importDifferentOddEvenPages: true
});
await context.sync();
});
load(options)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync()
.
load(options?: Word.Interfaces.DocumentLoadOptions): Word.Document;
Параметры
Предоставляет параметры свойств объекта для загрузки.
Возвращаемое значение
Примеры
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the document.
const thisDocument = context.document;
// Queue a command to load content control properties.
thisDocument.load('contentControls/id, contentControls/text, contentControls/tag');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (thisDocument.contentControls.items.length !== 0) {
for (let i = 0; i < thisDocument.contentControls.items.length; i++) {
console.log(thisDocument.contentControls.items[i].id);
console.log(thisDocument.contentControls.items[i].text);
console.log(thisDocument.contentControls.items[i].tag);
}
} else {
console.log('No content controls in this document.');
}
});
load(propertyNames)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync()
.
load(propertyNames?: string | string[]): Word.Document;
Параметры
- propertyNames
-
string | string[]
Строка с разделителями-запятыми или массив строк, указывающих свойства для загрузки.
Возвращаемое значение
load(propertyNamesAndPaths)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync()
.
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): Word.Document;
Параметры
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select
— это строка с разделителями-запятыми, указывающая загружаемые свойства, и propertyNamesAndPaths.expand
строка с разделителями-запятыми, указывающая загружаемые свойства навигации.
Возвращаемое значение
save(saveBehavior, fileName)
Сохраняет документ.
save(saveBehavior?: Word.SaveBehavior, fileName?: string): void;
Параметры
- saveBehavior
- Word.SaveBehavior
Необязательный параметр. Поведение сохранения должно быть "Сохранить" или "Запрос". Значение по умолчанию — "Сохранить".
- fileName
-
string
Необязательный параметр. Имя файла (расширение файла exclude). Вступает в силу только для нового документа.
Возвращаемое значение
void
Комментарии
Примечание. Параметры saveBehavior
и fileName
появились в WordApi 1.5.
Примеры
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the document.
const thisDocument = context.document;
// Queue a command to load the document save state (on the saved property).
thisDocument.load('saved');
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
if (thisDocument.saved === false) {
// Queue a command to save this document.
thisDocument.save();
// Synchronize the document state by executing the queued commands,
// and return a promise to indicate task completion.
await context.sync();
console.log('Saved the document');
} else {
console.log('The document has not changed since the last save.');
}
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/save-close.yaml
// Saves the document with default behavior
// for current state of the document.
await Word.run(async (context) => {
context.document.save();
await context.sync();
});
save(saveBehaviorString, fileName)
Сохраняет документ.
save(saveBehaviorString?: "Save" | "Prompt", fileName?: string): void;
Параметры
- saveBehaviorString
-
"Save" | "Prompt"
Необязательный параметр. Поведение сохранения должно быть "Сохранить" или "Запрос". Значение по умолчанию — "Сохранить".
- fileName
-
string
Необязательный параметр. Имя файла (расширение файла exclude). Вступает в силу только для нового документа.
Возвращаемое значение
void
Комментарии
Примечание. Параметры saveBehavior
и fileName
появились в WordApi 1.5.
search(searchText, searchOptions)
Выполняет поиск с указанными параметрами поиска на область всего документа. Результат поиска — это коллекция объектов диапазона.
search(searchText: string, searchOptions?: Word.SearchOptions | {
ignorePunct?: boolean;
ignoreSpace?: boolean;
matchCase?: boolean;
matchPrefix?: boolean;
matchSuffix?: boolean;
matchWholeWord?: boolean;
matchWildcards?: boolean;
}): Word.RangeCollection;
Параметры
- searchText
-
string
- searchOptions
-
Word.SearchOptions | { ignorePunct?: boolean; ignoreSpace?: boolean; matchCase?: boolean; matchPrefix?: boolean; matchSuffix?: boolean; matchWholeWord?: boolean; matchWildcards?: boolean; }
Возвращаемое значение
Комментарии
set(properties, options)
Задает несколько свойств объекта одновременно. Можно передать обычный объект с соответствующими свойствами или другой объект API того же типа.
set(properties: Interfaces.DocumentUpdateData, options?: OfficeExtension.UpdateOptions): void;
Параметры
- properties
- Word.Interfaces.DocumentUpdateData
Объект JavaScript со свойствами, структурированными изоморфно по свойствам объекта, для которого вызывается метод .
- options
- OfficeExtension.UpdateOptions
Предоставляет возможность подавления ошибок, если объект свойств пытается задать какие-либо свойства, доступные только для чтения.
Возвращаемое значение
void
set(properties)
Задает несколько свойств объекта одновременно на основе существующего загруженного объекта.
set(properties: Word.Document): void;
Параметры
- properties
- Word.Document
Возвращаемое значение
void
toJSON()
Переопределяет метод JavaScript toJSON()
, чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify()
. (JSON.stringify
в свою очередь вызывает toJSON
метод переданного ему объекта.) В то время как исходный Word.Document
объект является объектом API, toJSON
метод возвращает обычный объект JavaScript (типизированный как Word.Interfaces.DocumentData
), который содержит неглубокие копии всех загруженных дочерних свойств из исходного объекта.
toJSON(): Word.Interfaces.DocumentData;
Возвращаемое значение
track()
Отслеживает объект для автоматической корректировки с учетом окружающих изменений в документе. Этот вызов является сокращением для context.trackedObjects.add(thisObject). Если вы используете этот объект в вызовах .sync
и вне последовательного выполнения пакета .run и получаете ошибку InvalidObjectPath при задании свойства или вызове метода для объекта, необходимо добавить объект в отслеживаемую коллекцию объектов при первом создании объекта. Если этот объект является частью коллекции, следует также отслеживать родительскую коллекцию.
track(): Word.Document;
Возвращаемое значение
untrack()
Освобождает память, связанную с этим объектом, если он ранее отслеживался. Этот вызов является сокращенным для context.trackedObjects.remove(thisObject). Наличие большого количества отслеживаемых объектов замедляет ведущее приложение, поэтому не забывайте освобождать любые добавленные объекты после завершения их использования. Вызов потребуется выполнить context.sync()
до того, как выпуск памяти вступит в силу.
untrack(): Word.Document;
Возвращаемое значение
Сведения о событии
onAnnotationClicked
Происходит, когда пользователь щелкает заметку (или выбирает ее с помощью клавиш ALT+ВНИЗ).
readonly onAnnotationClicked: OfficeExtension.EventHandlers<Word.AnnotationClickedEventArgs>;
Тип события
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-annotations.yaml
// Registers event handlers.
await Word.run(async (context) => {
eventContexts[0] = context.document.onParagraphAdded.add(paragraphChanged);
eventContexts[1] = context.document.onParagraphChanged.add(paragraphChanged);
eventContexts[2] = context.document.onAnnotationClicked.add(onClickedHandler);
eventContexts[3] = context.document.onAnnotationHovered.add(onHoveredHandler);
eventContexts[4] = context.document.onAnnotationInserted.add(onInsertedHandler);
eventContexts[5] = context.document.onAnnotationRemoved.add(onRemovedHandler);
eventContexts[6] = context.document.onAnnotationPopupAction.add(onPopupActionHandler);
await context.sync();
console.log("Event handlers registered.");
});
...
async function onClickedHandler(args: Word.AnnotationClickedEventArgs) {
await Word.run(async (context) => {
const annotation: Word.Annotation = context.document.getAnnotationById(args.id);
annotation.load("critiqueAnnotation");
await context.sync();
console.log(`AnnotationClicked: ID ${args.id}:`, annotation.critiqueAnnotation.critique);
});
}
onAnnotationHovered
Происходит, когда пользователь навевает курсор на заметку.
readonly onAnnotationHovered: OfficeExtension.EventHandlers<Word.AnnotationHoveredEventArgs>;
Тип события
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-annotations.yaml
// Registers event handlers.
await Word.run(async (context) => {
eventContexts[0] = context.document.onParagraphAdded.add(paragraphChanged);
eventContexts[1] = context.document.onParagraphChanged.add(paragraphChanged);
eventContexts[2] = context.document.onAnnotationClicked.add(onClickedHandler);
eventContexts[3] = context.document.onAnnotationHovered.add(onHoveredHandler);
eventContexts[4] = context.document.onAnnotationInserted.add(onInsertedHandler);
eventContexts[5] = context.document.onAnnotationRemoved.add(onRemovedHandler);
eventContexts[6] = context.document.onAnnotationPopupAction.add(onPopupActionHandler);
await context.sync();
console.log("Event handlers registered.");
});
...
async function onHoveredHandler(args: Word.AnnotationHoveredEventArgs) {
await Word.run(async (context) => {
const annotation: Word.Annotation = context.document.getAnnotationById(args.id);
annotation.load("critiqueAnnotation");
await context.sync();
console.log(`AnnotationHovered: ID ${args.id}:`, annotation.critiqueAnnotation.critique);
});
}
onAnnotationInserted
Происходит, когда пользователь добавляет одну или несколько заметок.
readonly onAnnotationInserted: OfficeExtension.EventHandlers<Word.AnnotationInsertedEventArgs>;
Тип события
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-annotations.yaml
// Registers event handlers.
await Word.run(async (context) => {
eventContexts[0] = context.document.onParagraphAdded.add(paragraphChanged);
eventContexts[1] = context.document.onParagraphChanged.add(paragraphChanged);
eventContexts[2] = context.document.onAnnotationClicked.add(onClickedHandler);
eventContexts[3] = context.document.onAnnotationHovered.add(onHoveredHandler);
eventContexts[4] = context.document.onAnnotationInserted.add(onInsertedHandler);
eventContexts[5] = context.document.onAnnotationRemoved.add(onRemovedHandler);
eventContexts[6] = context.document.onAnnotationPopupAction.add(onPopupActionHandler);
await context.sync();
console.log("Event handlers registered.");
});
...
async function onInsertedHandler(args: Word.AnnotationInsertedEventArgs) {
await Word.run(async (context) => {
const annotations = [];
for (let i = 0; i < args.ids.length; i++) {
let annotation: Word.Annotation = context.document.getAnnotationById(args.ids[i]);
annotation.load("id,critiqueAnnotation");
annotations.push(annotation);
}
await context.sync();
for (let annotation of annotations) {
console.log(`AnnotationInserted: ID ${annotation.id}:`, annotation.critiqueAnnotation.critique);
}
});
}
onAnnotationPopupAction
Происходит, когда пользователь выполняет действие во всплывающем меню заметки.
readonly onAnnotationPopupAction: OfficeExtension.EventHandlers<Word.AnnotationPopupActionEventArgs>;
Тип события
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-annotations.yaml
// Registers event handlers.
await Word.run(async (context) => {
eventContexts[0] = context.document.onParagraphAdded.add(paragraphChanged);
eventContexts[1] = context.document.onParagraphChanged.add(paragraphChanged);
eventContexts[2] = context.document.onAnnotationClicked.add(onClickedHandler);
eventContexts[3] = context.document.onAnnotationHovered.add(onHoveredHandler);
eventContexts[4] = context.document.onAnnotationInserted.add(onInsertedHandler);
eventContexts[5] = context.document.onAnnotationRemoved.add(onRemovedHandler);
eventContexts[6] = context.document.onAnnotationPopupAction.add(onPopupActionHandler);
await context.sync();
console.log("Event handlers registered.");
});
...
async function onPopupActionHandler(args: Word.AnnotationPopupActionEventArgs) {
await Word.run(async (context) => {
let message = `AnnotationPopupAction: ID ${args.id} = `;
if (args.action === "Accept") {
message += `Accepted: ${args.critiqueSuggestion}`;
} else {
message += "Rejected";
}
console.log(message);
});
}
onAnnotationRemoved
Происходит, когда пользователь удаляет одну или несколько заметок.
readonly onAnnotationRemoved: OfficeExtension.EventHandlers<Word.AnnotationRemovedEventArgs>;
Тип события
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-annotations.yaml
// Registers event handlers.
await Word.run(async (context) => {
eventContexts[0] = context.document.onParagraphAdded.add(paragraphChanged);
eventContexts[1] = context.document.onParagraphChanged.add(paragraphChanged);
eventContexts[2] = context.document.onAnnotationClicked.add(onClickedHandler);
eventContexts[3] = context.document.onAnnotationHovered.add(onHoveredHandler);
eventContexts[4] = context.document.onAnnotationInserted.add(onInsertedHandler);
eventContexts[5] = context.document.onAnnotationRemoved.add(onRemovedHandler);
eventContexts[6] = context.document.onAnnotationPopupAction.add(onPopupActionHandler);
await context.sync();
console.log("Event handlers registered.");
});
...
async function onRemovedHandler(args: Word.AnnotationRemovedEventArgs) {
await Word.run(async (context) => {
for (let id of args.ids) {
console.log(`AnnotationRemoved: ID ${id}`);
}
});
}
onContentControlAdded
Происходит при добавлении элемента управления содержимым. Запустите context.sync() в обработчике, чтобы получить свойства нового элемента управления содержимым.
readonly onContentControlAdded: OfficeExtension.EventHandlers<Word.ContentControlAddedEventArgs>;
Тип события
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/10-content-controls/content-control-onadded-event.yaml
// Registers the onAdded event handler on the document.
await Word.run(async (context) => {
eventContext = context.document.onContentControlAdded.add(contentControlAdded);
await context.sync();
console.log("Added event handler for when content controls are added.");
});
...
async function contentControlAdded(event: Word.ContentControlAddedEventArgs) {
await Word.run(async (context) => {
console.log(`${event.eventType} event detected. IDs of content controls that were added:`, event.ids);
});
}
onParagraphAdded
Происходит, когда пользователь добавляет новые абзацы.
readonly onParagraphAdded: OfficeExtension.EventHandlers<Word.ParagraphAddedEventArgs>;
Тип события
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/25-paragraph/onadded-event.yaml
// Registers the onParagraphAdded event handler on the document.
await Word.run(async (context) => {
eventContext = context.document.onParagraphAdded.add(paragraphAdded);
await context.sync();
console.log("Added event handler for when paragraphs are added.");
});
...
async function paragraphAdded(event: Word.ParagraphAddedEventArgs) {
await Word.run(async (context) => {
console.log(`${event.type} event detected. IDs of paragraphs that were added:`, event.uniqueLocalIds);
});
}
onParagraphChanged
Происходит, когда пользователь изменяет абзацы.
readonly onParagraphChanged: OfficeExtension.EventHandlers<Word.ParagraphChangedEventArgs>;
Тип события
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/25-paragraph/onchanged-event.yaml
// Registers the onParagraphChanged event handler on the document.
await Word.run(async (context) => {
eventContext = context.document.onParagraphChanged.add(paragraphChanged);
await context.sync();
console.log("Added event handler for when content is changed in paragraphs.");
});
...
async function paragraphChanged(event: Word.ParagraphChangedEventArgs) {
await Word.run(async (context) => {
console.log(`${event.type} event detected. IDs of paragraphs where content was changed:`, event.uniqueLocalIds);
});
}
onParagraphDeleted
Происходит, когда пользователь удаляет абзацы.
readonly onParagraphDeleted: OfficeExtension.EventHandlers<Word.ParagraphDeletedEventArgs>;
Тип события
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/25-paragraph/ondeleted-event.yaml
// Registers the onParagraphDeleted event handler on the document.
await Word.run(async (context) => {
eventContext = context.document.onParagraphDeleted.add(paragraphDeleted);
await context.sync();
console.log("Added event handlers for when paragraphs are deleted.");
});
...
async function paragraphDeleted(event: Word.ParagraphDeletedEventArgs) {
await Word.run(async (context) => {
console.log(`${event.type} event detected. IDs of paragraphs that were deleted:`, event.uniqueLocalIds);
});
}
Office Add-ins