Word.Revision class

Representa un único control de cambios de un documento.

Extends

Comentarios

Conjunto de API: WordApiDesktop 1.4

Usada por

Ejemplos

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

Propiedades

author

Obtiene el nombre del usuario que realizó el control de cambios.

context

El contexto de solicitud asociado al objeto. De esta forma, se conecta el proceso del complemento con el proceso de la aplicación host de Office.

date

Obtiene la fecha y hora en que se realizó el control de cambios.

formatDescription

Obtiene la descripción de los cambios de formato realizados en la revisión.

index

Obtiene un número que representa la posición de este elemento en una colección.

movedRange

Obtiene un Range objeto que representa el rango de texto que se movió de un lugar a otro en el documento con seguimiento de cambios.

range

Obtiene un Range objeto que representa la parte del documento contenida dentro de una marca de revisión.

type

Obtiene el tipo de revisión.

Métodos

accept()

Acepta la marca de revisión, quita la marca de revisión e incorpora el cambio en el documento.

load(options)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

load(propertyNames)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

load(propertyNamesAndPaths)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

reject()

Rechaza el control de cambios. Se quitan las marcas de revisión, dejando el texto original intacto.

set(properties, options)

Establece varias propiedades de un objeto al mismo tiempo. Puede pasar un objeto sin formato con las propiedades adecuadas u otro objeto API del mismo tipo.

set(properties)

Establece varias propiedades en el objeto al mismo tiempo, basadas en un objeto cargado existente.

toJSON()

Reemplaza el método JavaScript toJSON() para proporcionar una salida más útil cuando se pasa un objeto API a JSON.stringify(). (JSON.stringify, a su vez, llama al toJSON método del objeto que se le pasa). Mientras que el objeto original Word.Revision es un objeto API, el toJSON método devuelve un objeto JavaScript simple (escrito como Word.Interfaces.RevisionData) que contiene copias superficiales de cualquier propiedad secundaria cargada del objeto original.

track()

Realiza un seguimiento del objeto de ajuste automático según cambios adyacentes en el documento. Esta llamada es una abreviatura de context.trackedObjects.add(thisObject). Si usa este objeto entre .sync llamadas y fuera de la ejecución secuencial de un lote ".run" y recibe un error "InvalidObjectPath" al establecer una propiedad o invocar un método en el objeto, debe agregar el objeto a la colección de objetos objeto de seguimiento cuando se creó el objeto por primera vez. Si este objeto forma parte de una colección, también debe realizar un seguimiento de la colección primaria.

untrack()

Libere la memoria asociada a este objeto, si se ha realizado un seguimiento de él anteriormente. Esta llamada es la abreviatura de context.trackedObjects.remove(thisObject). Tener muchos objetos marcados ralentiza la aplicación host, así que debe recordar liberar los objetos que agregue cuando haya terminado con ellos. Deberá llamar context.sync() antes de que la liberación de memoria surta efecto.

Detalles de las propiedades

author

Obtiene el nombre del usuario que realizó el control de cambios.

readonly author: string;

Valor de propiedad

string

Comentarios

Conjunto de API: WordApiDesktop 1.4

context

El contexto de solicitud asociado al objeto. De esta forma, se conecta el proceso del complemento con el proceso de la aplicación host de Office.

context: RequestContext;

Valor de propiedad

date

Obtiene la fecha y hora en que se realizó el control de cambios.

readonly date: Date;

Valor de propiedad

Date

Comentarios

Conjunto de API: WordApiDesktop 1.4

formatDescription

Obtiene la descripción de los cambios de formato realizados en la revisión.

readonly formatDescription: string;

Valor de propiedad

string

Comentarios

Conjunto de API: WordApiDesktop 1.4

index

Obtiene un número que representa la posición de este elemento en una colección.

readonly index: number;

Valor de propiedad

number

Comentarios

Conjunto de API: WordApiDesktop 1.4

movedRange

Obtiene un Range objeto que representa el rango de texto que se movió de un lugar a otro en el documento con seguimiento de cambios.

readonly movedRange: Word.Range;

Valor de propiedad

Comentarios

Conjunto de API: WordApiDesktop 1.4

Ejemplos

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

Obtiene un Range objeto que representa la parte del documento contenida dentro de una marca de revisión.

readonly range: Word.Range;

Valor de propiedad

Comentarios

Conjunto de API: WordApiDesktop 1.4

Ejemplos

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

Obtiene el tipo de revisión.

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

Valor de propiedad

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

Comentarios

Conjunto de API: WordApiDesktop 1.4

Detalles del método

accept()

Acepta la marca de revisión, quita la marca de revisión e incorpora el cambio en el documento.

accept(): void;

Devoluciones

void

Comentarios

Conjunto de API: WordApiDesktop 1.4

Ejemplos

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

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

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

Parámetros

options
Word.Interfaces.RevisionLoadOptions

Proporciona opciones para las propiedades del objeto que se van a cargar.

Devoluciones

load(propertyNames)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

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

Parámetros

propertyNames

string | string[]

Una cadena delimitada por comas o una matriz de cadenas que especifican las propiedades que se van a cargar.

Devoluciones

load(propertyNamesAndPaths)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

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

Parámetros

propertyNamesAndPaths

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

propertyNamesAndPaths.select es una cadena delimitada por comas que especifica las propiedades que se van a cargar y propertyNamesAndPaths.expand es una cadena delimitada por comas que especifica las propiedades de navegación que se van a cargar.

Devoluciones

reject()

Rechaza el control de cambios. Se quitan las marcas de revisión, dejando el texto original intacto.

reject(): void;

Devoluciones

void

Comentarios

Conjunto de API: WordApiDesktop 1.4

Ejemplos

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

Establece varias propiedades de un objeto al mismo tiempo. Puede pasar un objeto sin formato con las propiedades adecuadas u otro objeto API del mismo tipo.

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

Parámetros

properties
Word.Interfaces.RevisionUpdateData

Un objeto JavaScript con propiedades que están estructuradas isomorfamente a las propiedades del objeto en el que se llama al método.

options
OfficeExtension.UpdateOptions

Proporciona una opción para suprimir errores si el objeto properties intenta establecer propiedades de solo lectura.

Devoluciones

void

set(properties)

Establece varias propiedades en el objeto al mismo tiempo, basadas en un objeto cargado existente.

set(properties: Word.Revision): void;

Parámetros

properties
Word.Revision

Devoluciones

void

toJSON()

Reemplaza el método JavaScript toJSON() para proporcionar una salida más útil cuando se pasa un objeto API a JSON.stringify(). (JSON.stringify, a su vez, llama al toJSON método del objeto que se le pasa). Mientras que el objeto original Word.Revision es un objeto API, el toJSON método devuelve un objeto JavaScript simple (escrito como Word.Interfaces.RevisionData) que contiene copias superficiales de cualquier propiedad secundaria cargada del objeto original.

toJSON(): Word.Interfaces.RevisionData;

Devoluciones

track()

Realiza un seguimiento del objeto de ajuste automático según cambios adyacentes en el documento. Esta llamada es una abreviatura de context.trackedObjects.add(thisObject). Si usa este objeto entre .sync llamadas y fuera de la ejecución secuencial de un lote ".run" y recibe un error "InvalidObjectPath" al establecer una propiedad o invocar un método en el objeto, debe agregar el objeto a la colección de objetos objeto de seguimiento cuando se creó el objeto por primera vez. Si este objeto forma parte de una colección, también debe realizar un seguimiento de la colección primaria.

track(): Word.Revision;

Devoluciones

untrack()

Libere la memoria asociada a este objeto, si se ha realizado un seguimiento de él anteriormente. Esta llamada es la abreviatura de context.trackedObjects.remove(thisObject). Tener muchos objetos marcados ralentiza la aplicación host, así que debe recordar liberar los objetos que agregue cuando haya terminado con ellos. Deberá llamar context.sync() antes de que la liberación de memoria surta efecto.

untrack(): Word.Revision;

Devoluciones