Word.Revision class

文書内の 1 つの変更履歴を表します。

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

API オブジェクトが JSON.stringify() に渡されるときに、より有用な出力を提供するために、JavaScript toJSON() メソッドをオーバーライドします。 (次に、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

プロパティ オブジェクトが読み取り専用プロパティを設定しようとした場合にエラーを抑制するオプションを提供します。

返品

void

set(properties)

既存の読み込まれたオブジェクトに基づいて、オブジェクトに複数のプロパティを同時に設定します。

set(properties: Word.Revision): void;

パラメーター

properties
Word.Revision

返品

void

toJSON()

API オブジェクトが JSON.stringify() に渡されるときに、より有用な出力を提供するために、JavaScript toJSON() メソッドをオーバーライドします。 (次に、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;

返品