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


Word.Field class

Представляет поле.

Extends

Комментарии

[ Набор API: WordApi 1.4 ]

Важно! Дополнительные сведения о том, какие поля можно вставить, см. в разделе Word.Range.insertField API, представленный в наборе требований 1.5. Поддержка управления полями аналогична поддержке, доступной в пользовательском интерфейсе Word. Однако, хотя пользовательский интерфейс Word в Интернете в основном поддерживает поля только для чтения (см. раздел Коды полей в Word для Интернета), Addin поле можно редактировать. Дополнительные сведения о клиентах пользовательского интерфейса Word, которые более полно поддерживают поля, см. в списке продуктов в начале раздела Вставка, изменение и просмотр полей в Word.

Примеры

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

// Gets the first field in the document.
await Word.run(async (context) => {
  const field: Word.Field = context.document.body.fields.getFirstOrNullObject();
  field.load(["code", "result", "locked", "type", "data", "kind"]);

  await context.sync();

  if (field.isNullObject) {
    console.log("This document has no fields.");
  } else {
    console.log("Code of first field: " + field.code, "Result of first field: " + JSON.stringify(field.result), "Type of first field: " + field.type, "Is the first field locked? " + field.locked, "Kind of the first field: " + field.kind);
  }
});

Свойства

code

Указывает инструкцию по коду поля.

context

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

data

Указывает данные в поле Addin. Если поле не является полем Addin, оно является null и будет вызывать общее исключение при попытке кода задать его.

kind

Возвращает тип поля.

locked

Указывает, заблокировано ли поле. true Значение , если поле заблокировано, в false противном случае — значение .

parentBody

Возвращает родительский текст поля.

parentContentControl

Возвращает элемент управления содержимым, содержащий поле . Выдает ошибку ItemNotFound , если родительского элемента управления содержимым нет.

parentContentControlOrNullObject

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

parentTable

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

parentTableCell

Возвращает ячейку таблицы, содержащую поле. Выдает ошибку ItemNotFound , если она не содержится в ячейке таблицы.

parentTableCellOrNullObject

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

parentTableOrNullObject

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

result

Возвращает результирующих данных поля.

type

Возвращает тип поля.

Методы

delete()

Удаляет поле.

getNext()

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

getNextOrNullObject()

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

load(options)

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

load(propertyNames)

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

load(propertyNamesAndPaths)

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

select(selectionMode)

Выбирает поле.

select(selectionModeString)

Выбирает поле.

set(properties, options)

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

set(properties)

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

toJSON()

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

track()

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

untrack()

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

updateResult()

Обновления поле.

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

code

Указывает инструкцию по коду поля.

code: string;

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

string

Комментарии

[ Набор API: WordApi 1.4 ]

Примечание. Возможность задания кода появилась в WordApi 1.5.

Примеры

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

// Gets the first field in the document.
await Word.run(async (context) => {
  const field: Word.Field = context.document.body.fields.getFirstOrNullObject();
  field.load(["code", "result", "locked", "type", "data", "kind"]);

  await context.sync();

  if (field.isNullObject) {
    console.log("This document has no fields.");
  } else {
    console.log("Code of first field: " + field.code, "Result of first field: " + JSON.stringify(field.result), "Type of first field: " + field.type, "Is the first field locked? " + field.locked, "Kind of the first field: " + field.kind);
  }
});

context

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

context: RequestContext;

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

data

Указывает данные в поле Addin. Если поле не является полем Addin, оно является null и будет вызывать общее исключение при попытке кода задать его.

data: string;

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

string

Комментарии

[ Набор API: WordApi 1.5 ]

kind

Возвращает тип поля.

readonly kind: Word.FieldKind | "None" | "Hot" | "Warm" | "Cold";

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

Word.FieldKind | "None" | "Hot" | "Warm" | "Cold"

Комментарии

[ Набор API: WordApi 1.5 ]

Примеры

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

// Gets the first field in the document.
await Word.run(async (context) => {
  const field: Word.Field = context.document.body.fields.getFirstOrNullObject();
  field.load(["code", "result", "locked", "type", "data", "kind"]);

  await context.sync();

  if (field.isNullObject) {
    console.log("This document has no fields.");
  } else {
    console.log("Code of first field: " + field.code, "Result of first field: " + JSON.stringify(field.result), "Type of first field: " + field.type, "Is the first field locked? " + field.locked, "Kind of the first field: " + field.kind);
  }
});

locked

Указывает, заблокировано ли поле. true Значение , если поле заблокировано, в false противном случае — значение .

locked: boolean;

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

boolean

Комментарии

[ Набор API: WordApi 1.5 ]

Примеры

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

// Gets the first field in the selection and toggles between setting it to locked or unlocked.
await Word.run(async (context) => {
  let field = context.document.getSelection().fields.getFirstOrNullObject();
  field.load(["code", "result", "type", "locked"]);
  await context.sync();

  if (field.isNullObject) {
    console.log("The selection has no fields.");
  } else {
    console.log(`The first field in the selection is currently ${field.locked ? "locked" : "unlocked"}.`);
    field.locked = !field.locked;
    await context.sync();

    console.log(`The first field in the selection is now ${field.locked ? "locked" : "unlocked"}.`);
  }
});

parentBody

Возвращает родительский текст поля.

readonly parentBody: Word.Body;

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

Комментарии

[ Набор API: WordApi 1.4 ]

Примеры

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

// Gets the parent body of the first field in the document.
await Word.run(async (context) => {
  const field: Word.Field = context.document.body.fields.getFirstOrNullObject();
  field.load("parentBody/text");

  await context.sync();

  if (field.isNullObject) {
    console.log("This document has no fields.");
  } else {
    const parentBody: Word.Body = field.parentBody;
    console.log("Text of first field's parent body: " + JSON.stringify(parentBody.text));
  }
});

parentContentControl

Возвращает элемент управления содержимым, содержащий поле . Выдает ошибку ItemNotFound , если родительского элемента управления содержимым нет.

readonly parentContentControl: Word.ContentControl;

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

Комментарии

[ Набор API: WordApi 1.4 ]

parentContentControlOrNullObject

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

readonly parentContentControlOrNullObject: Word.ContentControl;

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

Комментарии

[ Набор API: WordApi 1.4 ]

parentTable

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

readonly parentTable: Word.Table;

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

Комментарии

[ Набор API: WordApi 1.4 ]

parentTableCell

Возвращает ячейку таблицы, содержащую поле. Выдает ошибку ItemNotFound , если она не содержится в ячейке таблицы.

readonly parentTableCell: Word.TableCell;

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

Комментарии

[ Набор API: WordApi 1.4 ]

parentTableCellOrNullObject

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

readonly parentTableCellOrNullObject: Word.TableCell;

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

Комментарии

[ Набор API: WordApi 1.4 ]

parentTableOrNullObject

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

readonly parentTableOrNullObject: Word.Table;

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

Комментарии

[ Набор API: WordApi 1.4 ]

result

Возвращает результирующих данных поля.

readonly result: Word.Range;

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

Комментарии

[ Набор API: WordApi 1.4 ]

Примеры

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

// Gets the first field in the document.
await Word.run(async (context) => {
  const field: Word.Field = context.document.body.fields.getFirstOrNullObject();
  field.load(["code", "result", "locked", "type", "data", "kind"]);

  await context.sync();

  if (field.isNullObject) {
    console.log("This document has no fields.");
  } else {
    console.log("Code of first field: " + field.code, "Result of first field: " + JSON.stringify(field.result), "Type of first field: " + field.type, "Is the first field locked? " + field.locked, "Kind of the first field: " + field.kind);
  }
});

type

Возвращает тип поля.

readonly type: Word.FieldType | "Addin" | "AddressBlock" | "Advance" | "Ask" | "Author" | "AutoText" | "AutoTextList" | "BarCode" | "Bibliography" | "BidiOutline" | "Citation" | "Comments" | "Compare" | "CreateDate" | "Data" | "Database" | "Date" | "DisplayBarcode" | "DocProperty" | "DocVariable" | "EditTime" | "Embedded" | "EQ" | "Expression" | "FileName" | "FileSize" | "FillIn" | "FormCheckbox" | "FormDropdown" | "FormText" | "GotoButton" | "GreetingLine" | "Hyperlink" | "If" | "Import" | "Include" | "IncludePicture" | "IncludeText" | "Index" | "Info" | "Keywords" | "LastSavedBy" | "Link" | "ListNum" | "MacroButton" | "MergeBarcode" | "MergeField" | "MergeRec" | "MergeSeq" | "Next" | "NextIf" | "NoteRef" | "NumChars" | "NumPages" | "NumWords" | "OCX" | "Page" | "PageRef" | "Print" | "PrintDate" | "Private" | "Quote" | "RD" | "Ref" | "RevNum" | "SaveDate" | "Section" | "SectionPages" | "Seq" | "Set" | "Shape" | "SkipIf" | "StyleRef" | "Subject" | "Subscriber" | "Symbol" | "TA" | "TC" | "Template" | "Time" | "Title" | "TOA" | "TOC" | "UserAddress" | "UserInitials" | "UserName" | "XE" | "Empty" | "Others" | "Undefined";

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

Word.FieldType | "Addin" | "AddressBlock" | "Advance" | "Ask" | "Author" | "AutoText" | "AutoTextList" | "BarCode" | "Bibliography" | "BidiOutline" | "Citation" | "Comments" | "Compare" | "CreateDate" | "Data" | "Database" | "Date" | "DisplayBarcode" | "DocProperty" | "DocVariable" | "EditTime" | "Embedded" | "EQ" | "Expression" | "FileName" | "FileSize" | "FillIn" | "FormCheckbox" | "FormDropdown" | "FormText" | "GotoButton" | "GreetingLine" | "Hyperlink" | "If" | "Import" | "Include" | "IncludePicture" | "IncludeText" | "Index" | "Info" | "Keywords" | "LastSavedBy" | "Link" | "ListNum" | "MacroButton" | "MergeBarcode" | "MergeField" | "MergeRec" | "MergeSeq" | "Next" | "NextIf" | "NoteRef" | "NumChars" | "NumPages" | "NumWords" | "OCX" | "Page" | "PageRef" | "Print" | "PrintDate" | "Private" | "Quote" | "RD" | "Ref" | "RevNum" | "SaveDate" | "Section" | "SectionPages" | "Seq" | "Set" | "Shape" | "SkipIf" | "StyleRef" | "Subject" | "Subscriber" | "Symbol" | "TA" | "TC" | "Template" | "Time" | "Title" | "TOA" | "TOC" | "UserAddress" | "UserInitials" | "UserName" | "XE" | "Empty" | "Others" | "Undefined"

Комментарии

[ Набор API: WordApi 1.5 ]

Примеры

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

// Gets the first field in the document.
await Word.run(async (context) => {
  const field: Word.Field = context.document.body.fields.getFirstOrNullObject();
  field.load(["code", "result", "locked", "type", "data", "kind"]);

  await context.sync();

  if (field.isNullObject) {
    console.log("This document has no fields.");
  } else {
    console.log("Code of first field: " + field.code, "Result of first field: " + JSON.stringify(field.result), "Type of first field: " + field.type, "Is the first field locked? " + field.locked, "Kind of the first field: " + field.kind);
  }
});

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

delete()

Удаляет поле.

delete(): void;

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

void

Комментарии

[ Набор API: WordApi 1.5 ]

Примеры

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

// Deletes the first field in the document.
await Word.run(async (context) => {
  const field: Word.Field = context.document.body.fields.getFirstOrNullObject();
  field.load();

  await context.sync();

  if (field.isNullObject) {
    console.log("This document has no fields.");
  } else {
    field.delete();
    await context.sync();

    console.log("The first field in the document was deleted.");
  }
});

getNext()

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

getNext(): Word.Field;

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

Комментарии

[ Набор API: WordApi 1.4 ]

getNextOrNullObject()

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

getNextOrNullObject(): Word.Field;

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

Комментарии

[ Набор API: WordApi 1.4 ]

load(options)

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

load(options?: Word.Interfaces.FieldLoadOptions): Word.Field;

Параметры

options
Word.Interfaces.FieldLoadOptions

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

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

load(propertyNames)

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

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

Параметры

propertyNames

string | string[]

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

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

load(propertyNamesAndPaths)

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

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

Параметры

propertyNamesAndPaths

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

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

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

select(selectionMode)

Выбирает поле.

select(selectionMode?: Word.SelectionMode): void;

Параметры

selectionMode
Word.SelectionMode

Необязательный параметр. Режим выбора должен быть "Select", "Start" или "End". Значение по умолчанию — Select.

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

void

Комментарии

[ Набор API: WordApi 1.5 ]

Примеры

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

// Gets and updates the first field in the selection.
await Word.run(async (context) => {
  let field = context.document.getSelection().fields.getFirstOrNullObject();
  field.load(["code", "result", "type", "locked"]);

  await context.sync();

  if (field.isNullObject) {
    console.log("No field in selection.");
  } else {
    console.log("Before updating:", "Code of first field: " + field.code, "Result of first field: " + JSON.stringify(field.result));

    field.updateResult();
    field.select();
    await context.sync();

    field.load(["code", "result"]);
    await context.sync();

    console.log("After updating:", "Code of first field: " + field.code, "Result of first field: " + JSON.stringify(field.result));
  }
});

select(selectionModeString)

Выбирает поле.

select(selectionModeString?: "Select" | "Start" | "End"): void;

Параметры

selectionModeString

"Select" | "Start" | "End"

Необязательный параметр. Режим выбора должен быть "Select", "Start" или "End". Значение по умолчанию — Select.

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

void

Комментарии

[ Набор API: WordApi 1.5 ]

set(properties, options)

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

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

Параметры

properties
Word.Interfaces.FieldUpdateData

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

options
OfficeExtension.UpdateOptions

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

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

void

set(properties)

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

set(properties: Word.Field): void;

Параметры

properties
Word.Field

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

void

toJSON()

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

toJSON(): Word.Interfaces.FieldData;

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

track()

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

track(): Word.Field;

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

untrack()

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

untrack(): Word.Field;

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

updateResult()

Обновления поле.

updateResult(): void;

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

void

Комментарии

[ Набор API: WordApi 1.5 ]

Примеры

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

// Gets and updates the first field in the selection.
await Word.run(async (context) => {
  let field = context.document.getSelection().fields.getFirstOrNullObject();
  field.load(["code", "result", "type", "locked"]);

  await context.sync();

  if (field.isNullObject) {
    console.log("No field in selection.");
  } else {
    console.log("Before updating:", "Code of first field: " + field.code, "Result of first field: " + JSON.stringify(field.result));

    field.updateResult();
    field.select();
    await context.sync();

    field.load(["code", "result"]);
    await context.sync();

    console.log("After updating:", "Code of first field: " + field.code, "Result of first field: " + JSON.stringify(field.result));
  }
});