Word.Revision class

Представляет отдельные исправления в документе.

Extends

Комментарии

Набор API: WordApiDesktop 1.4

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

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-tracked-changes.yaml

// Reads revision metadata for the first paragraph on desktop Word.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange();
    const revisions: Word.RevisionCollection = paragraphRange.revisions;
    revisions.load("items/author,items/date,items/type,items/index,items/formatDescription");
    await context.sync();
    console.log(`Revisions in the first paragraph: ${revisions.items.length}`);
    revisions.items.forEach((revision: Word.Revision) => {
        console.log("Revision properties:", {
            author: revision.author,
            date: revision.date,
            type: revision.type,
            index: revision.index,
            formatDescription: revision.formatDescription,
        });
    });
});

Свойства

author

Получает имя пользователя, который внес отслеживаемое изменение.

context

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

date

Получает дату и время внесения отслеживаемых изменений.

formatDescription

Получает описание отслеживаемых изменений форматирования в редакции.

index

Получает число, определяющее позицию данного элемента в коллекции.

movedRange

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

range

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

type

Получает тип редакции.

Методы

accept()

Принимает исправления, удаляет метку редакций и включает изменение в документ.

load(options)

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

load(propertyNames)

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

load(propertyNamesAndPaths)

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

reject()

Отклоняет отслеживаемое изменение. Метки исправления удаляются, оставляя исходный текст нетронутым.

set(properties, options)

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

set(properties)

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

toJSON()

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

track()

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

untrack()

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

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

author

Получает имя пользователя, который внес отслеживаемое изменение.

readonly author: string;

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

string

Комментарии

Набор API: WordApiDesktop 1.4

context

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

context: RequestContext;

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

date

Получает дату и время внесения отслеживаемых изменений.

readonly date: Date;

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

Date

Комментарии

Набор API: WordApiDesktop 1.4

formatDescription

Получает описание отслеживаемых изменений форматирования в редакции.

readonly formatDescription: string;

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

string

Комментарии

Набор API: WordApiDesktop 1.4

index

Получает число, определяющее позицию данного элемента в коллекции.

readonly index: number;

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

number

Комментарии

Набор API: WordApiDesktop 1.4

movedRange

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

readonly movedRange: Word.Range;

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

Комментарии

Набор API: WordApiDesktop 1.4

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/track-moved-text.yaml

// Reads and selects the text associated with a tracked move.
await Word.run(async (context) => {
    const document: Word.Document = context.document;
    const revisions: Word.RevisionCollection = document.revisions;
    revisions.load("items/type");
    await context.sync();

    const movedFrom: Word.RevisionType = Word.RevisionType.movedFrom;
    const movedTo: Word.RevisionType = Word.RevisionType.movedTo;
    const movedRevision: Word.Revision | undefined = revisions.items.find(
        (revision: Word.Revision) => revision.type === movedFrom || revision.type === movedTo
    );
    if (!movedRevision) {
        console.log("Revision types found:", revisions.items.map((revision: Word.Revision) => revision.type));
        console.warn("No tracked move was found. Move an entire paragraph as described in the task pane; moving a phrase may produce insertion and deletion revisions instead.");
        return;
    }

    const movedRange: Word.Range = movedRevision.movedRange;
    movedRange.load("text");
    movedRange.select();
    await context.sync();

    console.log(`Moved revision range text: ${movedRange.text}`);
});

range

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

readonly range: Word.Range;

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

Комментарии

Набор API: WordApiDesktop 1.4

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-tracked-changes.yaml

// Reads and selects the text affected by the first revision.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange();
    const revisions: Word.RevisionCollection = paragraphRange.revisions;
    revisions.load("items");
    await context.sync();

    if (revisions.items.length === 0) {
        console.warn("No revisions were found. Run Set up to create tracked changes.");
        return;
    }

    const firstRevision: Word.Revision = revisions.items[0];
    const revisionRange: Word.Range = firstRevision.range;
    revisionRange.load("text");
    revisionRange.select();
    await context.sync();

    console.log(`First revision range text: ${revisionRange.text}`);
});

type

Получает тип редакции.

readonly type: Word.RevisionType | "None" | "Insert" | "Delete" | "Property" | "ParagraphNumber" | "DisplayField" | "Reconcile" | "Conflict" | "Style" | "Replace" | "ParagraphProperty" | "TableProperty" | "SectionProperty" | "StyleDefinition" | "MovedFrom" | "MovedTo" | "CellInsertion" | "CellDeletion" | "CellMerge" | "CellSplit" | "ConflictInsert" | "ConflictDelete";

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

Word.RevisionType | "None" | "Insert" | "Delete" | "Property" | "ParagraphNumber" | "DisplayField" | "Reconcile" | "Conflict" | "Style" | "Replace" | "ParagraphProperty" | "TableProperty" | "SectionProperty" | "StyleDefinition" | "MovedFrom" | "MovedTo" | "CellInsertion" | "CellDeletion" | "CellMerge" | "CellSplit" | "ConflictInsert" | "ConflictDelete"

Комментарии

Набор API: WordApiDesktop 1.4

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

accept()

Принимает исправления, удаляет метку редакций и включает изменение в документ.

accept(): void;

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

void

Комментарии

Набор API: WordApiDesktop 1.4

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-tracked-changes.yaml

// Incorporates the first revision into the document.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange();
    const revisions: Word.RevisionCollection = paragraphRange.revisions;
    revisions.load("items");
    await context.sync();

    if (revisions.items.length === 0) {
        console.warn("No revisions were found. Run Set up to create tracked changes.");
        return;
    }

    const firstRevision: Word.Revision = revisions.items[0];
    firstRevision.accept();
    await context.sync();

    console.log("Accepted the first revision. Get revision metadata to inspect the remaining revisions.");
});

load(options)

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

load(options?: Word.Interfaces.RevisionLoadOptions): Word.Revision;

Параметры

options
Word.Interfaces.RevisionLoadOptions

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

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

load(propertyNames)

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

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

Параметры

propertyNames

string | string[]

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

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

load(propertyNamesAndPaths)

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

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

Параметры

propertyNamesAndPaths

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

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

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

reject()

Отклоняет отслеживаемое изменение. Метки исправления удаляются, оставляя исходный текст нетронутым.

reject(): void;

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

void

Комментарии

Набор API: WordApiDesktop 1.4

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-tracked-changes.yaml

// Removes the first revision and restores the original content.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange();
    const revisions: Word.RevisionCollection = paragraphRange.revisions;
    revisions.load("items");
    await context.sync();

    if (revisions.items.length === 0) {
        console.warn("No revisions were found. Run Set up to create tracked changes.");
        return;
    }

    const firstRevision: Word.Revision = revisions.items[0];
    firstRevision.reject();
    await context.sync();

    console.log("Rejected the first revision. Get revision metadata to inspect the remaining revisions.");
});

set(properties, options)

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

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

Параметры

properties
Word.Interfaces.RevisionUpdateData

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

options
OfficeExtension.UpdateOptions

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

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

void

set(properties)

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

set(properties: Word.Revision): void;

Параметры

properties
Word.Revision

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

void

toJSON()

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

toJSON(): Word.Interfaces.RevisionData;

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

track()

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

track(): Word.Revision;

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

untrack()

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

untrack(): Word.Revision;

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