Office.File interface
Office アドインに関連付けられているドキュメント ファイルを表します。
注釈
Document.getFileAsync メソッドに渡されるコールバック関数の AsyncResult.value プロパティを使用して File オブジェクトにアクセスします。
プロパティ
size | ドキュメントのファイル サイズをバイト単位で取得します。 |
slice |
ファイルが分割されるスライス数を取得します。 |
メソッド
close |
ドキュメント ファイルを閉じます。 |
get |
指定したスライスを返します。 |
プロパティの詳細
size
ドキュメントのファイル サイズをバイト単位で取得します。
size: number;
プロパティ値
number
sliceCount
ファイルが分割されるスライス数を取得します。
sliceCount: number;
プロパティ値
number
メソッドの詳細
closeAsync(callback)
ドキュメント ファイルを閉じます。
closeAsync(callback?: (result: AsyncResult<void>) => void): void;
パラメーター
- callback
-
(result: Office.AsyncResult<void>) => void
省略可能。 コールバックが戻るときに呼び出される関数。パラメーターは Office.AsyncResult 型のみです。
戻り値
void
注釈
要件セット: ファイル
2 つ以上のドキュメントがメモリに存在する場合、Document.getFileAsync 操作は失敗します。 ファイルを使い終わったら、File.closeAsync メソッドを使用してファイルを閉じてください。
closeAsync メソッドに渡されるコールバック関数で、AsyncResult オブジェクトのプロパティを使用して次の情報を返すことができます。
プロパティ | 使用 |
---|---|
AsyncResult.value | 取得するオブジェクトまたはデータがないため、常に undefined を返します。 |
AsyncResult.status | 操作の成功または失敗を判断します。 |
AsyncResult.error | 操作が失敗した場合、エラーに関する情報を提供する Error オブジェクトにアクセスします。 |
AsyncResult.asyncContext | 変更されずに AsyncResult オブジェクトで返される任意の型の項目を定義します。 |
getSliceAsync(sliceIndex, callback)
指定したスライスを返します。
getSliceAsync(sliceIndex: number, callback?: (result: AsyncResult<Office.Slice>) => void): void;
パラメーター
- sliceIndex
-
number
Specifies the zero-based index of the slice to be retrieved. 必須。
- callback
-
(result: Office.AsyncResult<Office.Slice>) => void
省略可能。 コールバックが戻るときに呼び出される関数。パラメーターは Office.AsyncResult 型のみです。 結果の value
プロパティは Office.Slice オブジェクトです。
戻り値
void
注釈
要件セット: ファイル
getSliceAsync メソッドに渡されるコールバック関数では、AsyncResult オブジェクトのプロパティを使用して次の情報を返すことができます。
プロパティ | 使用 |
---|---|
AsyncResult.value | Slice オブジェクトにアクセスします。 |
AsyncResult.status | 操作の成功または失敗を判断します。 |
AsyncResult.error | 操作が失敗した場合、エラーに関する情報を提供する Error オブジェクトにアクセスします。 |
AsyncResult.asyncContext | 変更されずに AsyncResult オブジェクトで返される任意の型の項目を定義します。 |
例
// This sample shows how to get all the slices of a file.
// The asynchronous operation returns a Promise so it can be awaited.
private getAllSlices(file: any): Promise<any> {
const self = this;
let isError = false;
return new Promise(async (resolve, reject) => {
let documentFileData = [];
for (let sliceIndex = 0; (sliceIndex < file.sliceCount) && !isError; sliceIndex++) {
const sliceReadPromise = new Promise((sliceResolve, sliceReject) => {
file.getSliceAsync(sliceIndex, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
documentFileData = documentFileData.concat(asyncResult.value.data);
sliceResolve({
IsSuccess: true,
Data: documentFileData
});
} else {
file.closeAsync();
sliceReject({
IsSuccess: false,
ErrorMessage: `Error in reading the slice: ${sliceIndex} of the document`
});
}
});
});
await sliceReadPromise.catch((error) => {
isError = true;
});
}
if (isError || !documentFileData.length) {
reject('Error while reading document. Please try it again.');
return;
}
file.closeAsync();
resolve({
IsSuccess: true,
Data: documentFileData
});
});
}
Office Add-ins