Office.File interface
Stellt die einem Office Add-In zugeordnete Dokumentdatei dar.
Hinweise
Greifen Sie auf das File-Objekt mit der Eigenschaft AsyncResult.value in der Rückruffunktion zu, die an die Document.getFileAsync-Methode übergeben wird.
Eigenschaften
size | Ruft die Größe der Dokumentdatei in Byte ab. |
slice |
Ruft die Anzahl der Segmente ab, in die die Datei aufgeteilt ist. |
Methoden
close |
Schließt die Dokumentdatei. |
get |
Gibt das angegebene Segment zurück. |
Details zur Eigenschaft
size
Ruft die Größe der Dokumentdatei in Byte ab.
size: number;
Eigenschaftswert
number
sliceCount
Ruft die Anzahl der Segmente ab, in die die Datei aufgeteilt ist.
sliceCount: number;
Eigenschaftswert
number
Details zur Methode
closeAsync(callback)
Schließt die Dokumentdatei.
closeAsync(callback?: (result: AsyncResult<void>) => void): void;
Parameter
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Eine Funktion, die aufgerufen wird, wenn der Rückruf zurückgibt, deren einziger Parameter vom Typ Office.AsyncResult ist.
Gibt zurück
void
Hinweise
Anforderungssatz: Datei
Im Speicher dürfen sich höchstens zwei Dokumente befinden, andernfalls schlägt der Document.getFileAsync-Vorgang fehl. Schließen Sie die Datenbank mit der File.closeAsync-Methode, wenn Sie sie wieder freigeben möchten.
In der Rückruffunktion, die an die closeAsync-Methode weitergegeben wird, können Sie die Eigenschaften des AsyncResult-Objekts verwenden, um die folgenden Informationen zurückzugeben.
Eigenschaft | Verwendung |
---|---|
AsyncResult.value | Gibt immer zurück undefined , da kein Objekt oder keine Daten abgerufen werden können. |
AsyncResult.status | Bestimmen Sie, ob der Vorgang erfolgreich war oder ein Fehler aufgetreten ist. |
AsyncResult.error | Greifen Sie auf ein Error-Objekt zu, das nach einem fehlgeschlagenen Vorgang Fehlerinformationen bereitstellt. |
AsyncResult.asyncContext | Definieren Sie ein Element eines beliebigen Typs, der im AsyncResult-Objekt zurückgegeben wird, ohne geändert zu werden. |
getSliceAsync(sliceIndex, callback)
Gibt das angegebene Segment zurück.
getSliceAsync(sliceIndex: number, callback?: (result: AsyncResult<Office.Slice>) => void): void;
Parameter
- sliceIndex
-
number
Gibt den nullbasierten Index für das abzurufende Segment an. Erforderlich.
- callback
-
(result: Office.AsyncResult<Office.Slice>) => void
Optional. Eine Funktion, die aufgerufen wird, wenn der Rückruf zurückgibt, deren einziger Parameter vom Typ Office.AsyncResult ist. Die value
-Eigenschaft des Ergebnisses ist das Office.Slice-Objekt .
Gibt zurück
void
Hinweise
Anforderungssatz: Datei
In der callback-Funktion, die an die getSliceAsync-Methode weitergegeben wird, können Sie die Eigenschaften des AsyncResult-Objekts verwenden, um die folgenden Informationen zurückzugeben.
Eigenschaft | Verwendung |
---|---|
AsyncResult.value | Zugriff auf das Slice-Objekt. |
AsyncResult.status | Bestimmen Sie, ob der Vorgang erfolgreich war oder ein Fehler aufgetreten ist. |
AsyncResult.error | Greifen Sie auf ein Error-Objekt zu, das nach einem fehlgeschlagenen Vorgang Fehlerinformationen bereitstellt. |
AsyncResult.asyncContext | Definieren Sie ein Element eines beliebigen Typs, der im AsyncResult-Objekt zurückgegeben wird, ohne geändert zu werden. |
Beispiele
// 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