Word.FieldCollection class
Wordのコレクションを格納します。フィールド オブジェクト。
- Extends
注釈
重要: 挿入できるフィールドの詳細については、要件セット 1.5 で導入された Word.Range.insertField API
を参照してください。 フィールドの管理のサポートは、Word UI で使用できる内容と似ています。 ただし、web 上のWord UI は主に読み取り専用としてフィールドをサポートします (「web のWordのフィールド コード」を参照)、Addin
フィールドは編集可能です。 より完全にサポートされるWORD UI クライアントの詳細については、「Word のフィールドの挿入、編集、表示」の冒頭にある製品リストを参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-fields.yaml
// Gets all fields in the document body.
await Word.run(async (context) => {
const fields: Word.FieldCollection = context.document.body.fields.load("items");
await context.sync();
if (fields.items.length === 0) {
console.log("No fields in this document.");
} else {
fields.load(["code", "result"]);
await context.sync();
for (let i = 0; i < fields.items.length; i++) {
console.log(`Field ${i + 1}'s code: ${fields.items[i].code}`, `Field ${i + 1}'s result: ${JSON.stringify(fields.items[i].result)}`);
}
}
});
プロパティ
context | オブジェクトに関連付けられている要求コンテキスト。 これにより、アドインのプロセスが Office ホスト アプリケーションのプロセスに接続されます。 |
items | このコレクション内に読み込まれた子アイテムを取得します。 |
メソッド
get |
指定した種類のフィールドを含む Field オブジェクト コレクションを取得します。 |
get |
このコレクションの最初のフィールドを取得します。 このコレクションが空の場合は、 |
get |
このコレクションの最初のフィールドを取得します。 このコレクションが空の場合、このメソッドは |
load(options) | オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、 |
load(property |
オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、 |
load(property |
オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、 |
toJSON() | API オブジェクトが |
track() | ドキュメントの環境変更に基づいて自動的に調整する目的でオブジェクトを追跡します。 この呼び出しは、 context.trackedObjects.add(thisObject)の短縮形です。 このオブジェクトを |
untrack() | 前に追跡されていた場合、このオブジェクトに関連付けられているメモリを解放します。 この呼び出しは 、context.trackedObjects.remove(thisObject)の短縮形です。 追跡対象オブジェクトが多いとホスト アプリケーションの動作が遅くなります。追加したオブジェクトが不要になったら、必ずそれを解放してください。 メモリ解放が有効になる前に、 |
プロパティの詳細
context
オブジェクトに関連付けられている要求コンテキスト。 これにより、アドインのプロセスが Office ホスト アプリケーションのプロセスに接続されます。
context: RequestContext;
プロパティ値
items
このコレクション内に読み込まれた子アイテムを取得します。
readonly items: Word.Field[];
プロパティ値
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/50-document/manage-fields.yaml
// Gets all fields in the document body.
await Word.run(async (context) => {
const fields: Word.FieldCollection = context.document.body.fields.load("items");
await context.sync();
if (fields.items.length === 0) {
console.log("No fields in this document.");
} else {
fields.load(["code", "result"]);
await context.sync();
for (let i = 0; i < fields.items.length; i++) {
console.log(`Field ${i + 1}'s code: ${fields.items[i].code}`, `Field ${i + 1}'s result: ${JSON.stringify(fields.items[i].result)}`);
}
}
});
メソッドの詳細
getByTypes(types)
指定した種類のフィールドを含む Field オブジェクト コレクションを取得します。
getByTypes(types: Word.FieldType[]): Word.FieldCollection;
パラメーター
- types
必須です。 フィールド型の配列。
戻り値
注釈
getFirst()
このコレクションの最初のフィールドを取得します。 このコレクションが空の場合は、 ItemNotFound
エラーをスローします。
getFirst(): Word.Field;
戻り値
注釈
getFirstOrNullObject()
このコレクションの最初のフィールドを取得します。 このコレクションが空の場合、このメソッドは isNullObject
プロパティを true
に設定したオブジェクトを返します。 詳細については、「 *OrNullObject メソッドとプロパティ」を参照してください。
getFirstOrNullObject(): Word.Field;
戻り値
注釈
例
// 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);
}
});
load(options)
オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync()
を呼び出す必要があります。
load(options?: Word.Interfaces.FieldCollectionLoadOptions & Word.Interfaces.CollectionLoadOptions): Word.FieldCollection;
パラメーター
読み込むオブジェクトのプロパティのオプションを提供します。
戻り値
load(propertyNames)
オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync()
を呼び出す必要があります。
load(propertyNames?: string | string[]): Word.FieldCollection;
パラメーター
- propertyNames
-
string | string[]
読み込むプロパティを指定するコンマ区切り文字列または文字列の配列。
戻り値
load(propertyNamesAndPaths)
オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync()
を呼び出す必要があります。
load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Word.FieldCollection;
パラメーター
- propertyNamesAndPaths
- OfficeExtension.LoadOption
propertyNamesAndPaths.select
は読み込むプロパティを指定するコンマ区切りの文字列で、 propertyNamesAndPaths.expand
は読み込むナビゲーション プロパティを指定するコンマ区切りの文字列です。
戻り値
toJSON()
API オブジェクトがJSON.stringify()
に渡されたときにより便利な出力を提供するために、JavaScript toJSON()
メソッドをオーバーライドします。 (JSON.stringify
、それに渡されるオブジェクトの toJSON
メソッドを呼び出します)。元の Word.FieldCollection
オブジェクトは API オブジェクトですが、 toJSON
メソッドは、コレクションの項目から読み込まれたプロパティの浅いコピーを含む "items" 配列を含むプレーンな JavaScript オブジェクト ( Word.Interfaces.FieldCollectionData
として型指定) を返します。
toJSON(): Word.Interfaces.FieldCollectionData;
戻り値
track()
ドキュメントの環境変更に基づいて自動的に調整する目的でオブジェクトを追跡します。 この呼び出しは、 context.trackedObjects.add(thisObject)の短縮形です。 このオブジェクトを .sync
呼び出しで使用し、".run" バッチのシーケンシャル実行の外部でプロパティを設定するとき、またはオブジェクトに対してメソッドを呼び出すときに "InvalidObjectPath" エラーが発生する場合は、オブジェクトが最初に作成されたときに、追跡対象のオブジェクト コレクションにオブジェクトを追加する必要があります。 このオブジェクトがコレクションの一部である場合は、親コレクションも追跡する必要があります。
track(): Word.FieldCollection;
戻り値
untrack()
前に追跡されていた場合、このオブジェクトに関連付けられているメモリを解放します。 この呼び出しは 、context.trackedObjects.remove(thisObject)の短縮形です。 追跡対象オブジェクトが多いとホスト アプリケーションの動作が遅くなります。追加したオブジェクトが不要になったら、必ずそれを解放してください。 メモリ解放が有効になる前に、 context.sync()
を呼び出す必要があります。
untrack(): Word.FieldCollection;
戻り値
Office Add-ins