Office.File interface
Представляет файл документа, сопоставленный с надстройкой Office.
Комментарии
Доступ к объекту File с помощью свойства AsyncResult.value в функции обратного вызова, переданной методу Document.getFileAsync.
Свойства
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
Комментарии
Набор обязательных элементов: Файл
В памяти может храниться не более двух документов; в противном случае произойдет сбой операции Document.getFileAsync. Используйте метод File.closeAsync, чтобы закрыть файл после завершения работы с ним.
В функции обратного вызова, переданной методу closeAsync, вы можете использовать свойства объекта AsyncResult, чтобы получить следующие сведения.
Property | Использовать |
---|---|
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
Задает индекс с отсчетом от нуля получаемого фрагмента. Обязательно.
- callback
-
(result: Office.AsyncResult<Office.Slice>) => void
Необязательный параметр. Функция, вызываемая при возврате обратного вызова, единственный параметр которой имеет тип Office.AsyncResult. Свойством value
результата является объект Office.Slice .
Возвращаемое значение
void
Комментарии
Набор обязательных элементов: Файл
В функции обратного вызова, переданной в метод getSliceAsync, можно использовать свойства объекта AsyncResult, чтобы возвратить такие сведения:
Property | Использовать |
---|---|
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