Поделиться через


Word.Document class

Объект Document — это объект верхнего уровня. Объект Document содержит один или несколько разделов, элементы управления контентом и основной текст с содержанием документа.

Extends

Комментарии

[ Набор API: WordApi 1.1 ]

Примеры

// 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

Возвращает основной объект основного документа. Текст — это текст, который исключает колонтитулы, сноски, текстовые поля и т. д.

changeTrackingMode

Указывает режим ChangeTracking.

contentControls

Возвращает коллекцию объектов элементов управления содержимым в документе. Сюда входят элементы управления содержимым в тексте документа, верхние колонтитулы, текстовые поля и т. д.

context

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

customXmlParts

Возвращает пользовательские XML-части в документе.

properties

Возвращает свойства документа.

saved

Указывает, сохранены ли изменения, внесенные в документ. Значение true указывает на то, что с момента последнего сохранения в документ не вносились изменения.

sections

Возвращает коллекцию объектов section в документе.

settings

Возвращает параметры надстройки в документе.

Методы

deleteBookmark(name)

Удаляет закладку, если она существует, из документа.

getBookmarkRange(name)

Возвращает диапазон закладки. Выдает ошибку ItemNotFound , если закладка не существует.

getBookmarkRangeOrNullObject(name)

Возвращает диапазон закладки. Если закладка не существует, этот метод вернет объект со свойством isNullObject .true Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

getSelection()

Возвращает текущий выбранный фрагмент документа. Несколько вариантов выбора не поддерживаются.

load(options)

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

load(propertyNames)

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

load(propertyNamesAndPaths)

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

save(saveBehavior, fileName)

Сохраняет документ.

save(saveBehaviorString, fileName)

Сохраняет документ.

set(properties, options)

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

set(properties)

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

toJSON()

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

track()

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

untrack()

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

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

body

Возвращает основной объект основного документа. Текст — это текст, который исключает колонтитулы, сноски, текстовые поля и т. д.

readonly body: Word.Body;

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

Комментарии

[ Набор API: WordApi 1.1 ]

changeTrackingMode

Указывает режим ChangeTracking.

changeTrackingMode: Word.ChangeTrackingMode | "Off" | "TrackAll" | "TrackMineOnly";

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

Word.ChangeTrackingMode | "Off" | "TrackAll" | "TrackMineOnly"

Комментарии

[ Набор API: WordApi 1.4 ]

Примеры

// 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;

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

Комментарии

[ Набор API: WordApi 1.1 ]

context

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

context: RequestContext;

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

customXmlParts

Возвращает пользовательские XML-части в документе.

readonly customXmlParts: Word.CustomXmlPartCollection;

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

Комментарии

[ Набор API: WordApi 1.4 ]

properties

Возвращает свойства документа.

readonly properties: Word.DocumentProperties;

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

Комментарии

[ Набор API: WordApi 1.3 ]

Примеры

// 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

Комментарии

[ Набор API: WordApi 1.1 ]

sections

Возвращает коллекцию объектов section в документе.

readonly sections: Word.SectionCollection;

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

Комментарии

[ Набор API: WordApi 1.1 ]

settings

Возвращает параметры надстройки в документе.

readonly settings: Word.SettingCollection;

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

Комментарии

[ Набор API: WordApi 1.4 ]

Примеры

// 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]);
    }
  }
});

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

deleteBookmark(name)

Удаляет закладку, если она существует, из документа.

deleteBookmark(name: string): void;

Параметры

name

string

Обязательно. Имя закладки без учета регистра.

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

void

Комментарии

[ Набор API: WordApi 1.4 ]

getBookmarkRange(name)

Возвращает диапазон закладки. Выдает ошибку ItemNotFound , если закладка не существует.

getBookmarkRange(name: string): Word.Range;

Параметры

name

string

Обязательно. Имя закладки без учета регистра.

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

Комментарии

[ Набор API: WordApi 1.4 ]

getBookmarkRangeOrNullObject(name)

Возвращает диапазон закладки. Если закладка не существует, этот метод вернет объект со свойством isNullObject .true Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

getBookmarkRangeOrNullObject(name: string): Word.Range;

Параметры

name

string

Обязательно. Имя закладки без учета регистра.

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

Комментарии

[ Набор API: WordApi 1.4 ]

getSelection()

Возвращает текущий выбранный фрагмент документа. Несколько вариантов выбора не поддерживаются.

getSelection(): Word.Range;

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

Комментарии

[ Набор API: WordApi 1.1 ]

Примеры

// 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.');
});  

load(options)

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

load(options?: Word.Interfaces.DocumentLoadOptions): Word.Document;

Параметры

options
Word.Interfaces.DocumentLoadOptions

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

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

Примеры

// 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

Комментарии

[ Набор API: WordApi 1.1 ]

Примечание. Параметры 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

Комментарии

[ Набор API: WordApi 1.1 ]

Примечание. Параметры saveBehavior и fileName появились в WordApi 1.5.

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;

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