Word.TrackedChange class

表示 Word 文档中的修订更改。

扩展

注解

API 集:WordApi 1.6

使用方

示例

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

// Gets the next (second) tracked change.
await Word.run(async (context) => {
  const body: Word.Body = context.document.body;
  const trackedChanges: Word.TrackedChangeCollection = body.getTrackedChanges();
  await context.sync();

  const trackedChange: Word.TrackedChange = trackedChanges.getFirst();
  await context.sync();

  const nextTrackedChange: Word.TrackedChange = trackedChange.getNext();
  await context.sync();

  nextTrackedChange.load(["author", "date", "text", "type"]);
  await context.sync();

  console.log(nextTrackedChange);
});

属性

author

获取修订的作者。

context

与对象关联的请求上下文。 这将加载项的进程连接到 Office 主机应用程序的进程。

date

获取修订的日期。

text

获取修订文本。

type

获取跟踪更改的类型。

方法

accept()

接受修订。

getNext()

获取下一个跟踪的更改。 如果此跟踪的更改是最后一个更改,则引发错误 ItemNotFound

getNextOrNullObject()

获取下一个跟踪的更改。 如果此跟踪的更改是最后一个,则此方法将返回其 isNullObject 属性设置为 true的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性

getRange(rangeLocation)

获取跟踪更改的范围。

load(options)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNames)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNamesAndPaths)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

reject()

拒绝修订。

toJSON()

覆盖 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 (JSON.stringify反过来调用 toJSON 传递给它的对象的方法。) 虽然原始 Word.TrackedChange 对象是 API 对象, toJSON 但该方法返回一个纯 JavaScript 对象, (类型化为 Word.Interfaces.TrackedChangeData) ,其中包含从原始对象加载的任何子属性的浅层副本。

track()

根据文档中的相应更改来跟踪对象,以便进行自动调整。 此调用是 context.trackedObjects.add (thisObject) 的简写。 如果在调用中 .sync 使用此对象,并且在“.run”批处理的顺序执行之外使用此对象,并且在设置属性或对对象调用方法时收到“InvalidObjectPath”错误,则需要在首次创建对象时将对象添加到跟踪对象集合。 如果此对象是集合的一部分,您还应跟踪父集合。

untrack()

释放与此对象关联的内存(如果先前已跟踪过)。 此调用是 context.trackedObjects.remove (thisObject) 的简写。 拥有许多跟踪对象会降低主机应用程序的速度,因此请在使用完毕后释放所添加的任何对象。 需要在内存释放生效之前调用 context.sync()

属性详细信息

author

获取修订的作者。

readonly author: string;

属性值

string

注解

API 集:WordApi 1.6

context

与对象关联的请求上下文。 这将加载项的进程连接到 Office 主机应用程序的进程。

context: RequestContext;

属性值

date

获取修订的日期。

readonly date: Date;

属性值

Date

注解

API 集:WordApi 1.6

text

获取修订文本。

readonly text: string;

属性值

string

注解

API 集:WordApi 1.6

type

获取跟踪更改的类型。

readonly type: Word.TrackedChangeType | "None" | "Added" | "Deleted" | "Formatted";

属性值

Word.TrackedChangeType | "None" | "Added" | "Deleted" | "Formatted"

注解

API 集:WordApi 1.6

方法详细信息

accept()

接受修订。

accept(): void;

返回

void

注解

API 集:WordApi 1.6

示例

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

// Accepts the first tracked change.
await Word.run(async (context) => {
  const body: Word.Body = context.document.body;
  const trackedChanges: Word.TrackedChangeCollection = body.getTrackedChanges();
  const trackedChange: Word.TrackedChange = trackedChanges.getFirst();
  trackedChange.load();
  await context.sync();

  console.log("First tracked change:", trackedChange);
  trackedChange.accept();
  console.log("Accepted the first tracked change.");
});

getNext()

获取下一个跟踪的更改。 如果此跟踪的更改是最后一个更改,则引发错误 ItemNotFound

getNext(): Word.TrackedChange;

返回

注解

API 集:WordApi 1.6

示例

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

// Gets the next (second) tracked change.
await Word.run(async (context) => {
  const body: Word.Body = context.document.body;
  const trackedChanges: Word.TrackedChangeCollection = body.getTrackedChanges();
  await context.sync();

  const trackedChange: Word.TrackedChange = trackedChanges.getFirst();
  await context.sync();

  const nextTrackedChange: Word.TrackedChange = trackedChange.getNext();
  await context.sync();

  nextTrackedChange.load(["author", "date", "text", "type"]);
  await context.sync();

  console.log(nextTrackedChange);
});

getNextOrNullObject()

获取下一个跟踪的更改。 如果此跟踪的更改是最后一个,则此方法将返回其 isNullObject 属性设置为 true的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性

getNextOrNullObject(): Word.TrackedChange;

返回

注解

API 集:WordApi 1.6

getRange(rangeLocation)

获取跟踪更改的范围。

getRange(rangeLocation?: Word.RangeLocation.whole | Word.RangeLocation.start | Word.RangeLocation.end | "Whole" | "Start" | "End"): Word.Range;

参数

rangeLocation

whole | start | end | "Whole" | "Start" | "End"

可选。 指定要获取其范围的跟踪更改部分。 如果未指定,则返回跟踪更改的整个范围。

返回

注解

API 集:WordApi 1.6

示例

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

// Gets the range of the first tracked change.
await Word.run(async (context) => {
  const body: Word.Body = context.document.body;
  const trackedChanges: Word.TrackedChangeCollection = body.getTrackedChanges();
  const trackedChange: Word.TrackedChange = trackedChanges.getFirst();
  await context.sync();

  const range: Word.Range = trackedChange.getRange();
  range.load();
  await context.sync();

  console.log("range.text: " + range.text);
});

load(options)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(options?: Word.Interfaces.TrackedChangeLoadOptions): Word.TrackedChange;

参数

options
Word.Interfaces.TrackedChangeLoadOptions

为要加载的对象属性提供选项。

返回

load(propertyNames)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

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

参数

propertyNames

string | string[]

指定要加载的属性的逗号分隔的字符串或字符串数组。

返回

load(propertyNamesAndPaths)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

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

参数

propertyNamesAndPaths

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

propertyNamesAndPaths.select 是指定要加载的属性的逗号分隔字符串,以及 propertyNamesAndPaths.expand 指定要加载的导航属性的逗号分隔字符串。

返回

reject()

拒绝修订。

reject(): void;

返回

void

注解

API 集:WordApi 1.6

示例

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

// Rejects the first tracked change.
await Word.run(async (context) => {
  const body: Word.Body = context.document.body;
  const trackedChanges: Word.TrackedChangeCollection = body.getTrackedChanges();
  const trackedChange: Word.TrackedChange = trackedChanges.getFirst();
  trackedChange.load();
  await context.sync();

  console.log("First tracked change:", trackedChange);
  trackedChange.reject();
  console.log("Rejected the first tracked change.");
});

toJSON()

覆盖 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 (JSON.stringify反过来调用 toJSON 传递给它的对象的方法。) 虽然原始 Word.TrackedChange 对象是 API 对象, toJSON 但该方法返回一个纯 JavaScript 对象, (类型化为 Word.Interfaces.TrackedChangeData) ,其中包含从原始对象加载的任何子属性的浅层副本。

toJSON(): Word.Interfaces.TrackedChangeData;

返回

track()

根据文档中的相应更改来跟踪对象,以便进行自动调整。 此调用是 context.trackedObjects.add (thisObject) 的简写。 如果在调用中 .sync 使用此对象,并且在“.run”批处理的顺序执行之外使用此对象,并且在设置属性或对对象调用方法时收到“InvalidObjectPath”错误,则需要在首次创建对象时将对象添加到跟踪对象集合。 如果此对象是集合的一部分,您还应跟踪父集合。

track(): Word.TrackedChange;

返回

untrack()

释放与此对象关联的内存(如果先前已跟踪过)。 此调用是 context.trackedObjects.remove (thisObject) 的简写。 拥有许多跟踪对象会降低主机应用程序的速度,因此请在使用完毕后释放所添加的任何对象。 需要在内存释放生效之前调用 context.sync()

untrack(): Word.TrackedChange;

返回