Office.Dialog interface
Das Objekt, das zurückgegeben wird, wenn UI.displayDialogAsync
aufgerufen wird. Es macht Methoden zum Registrieren von Ereignishandlern und Zum Schließen des Dialogs verfügbar.
Hinweise
Anforderungssatz: DialogAPI
Methoden
add |
Registriert einen Ereignishandler. Die beiden unterstützten Ereignisse sind:
|
close() | Wird von einer übergeordneten Seite aufgerufen, um das entsprechende Dialogfeld zu schließen. Diese Methode ist asynchron. Er nimmt keinen Rückrufparameter und gibt kein Promise-Objekt zurück, sodass es weder mit dem |
message |
Übermittelt eine Nachricht von der Hostseite, z. B. einen Aufgabenbereich oder eine Funktionsdatei ohne Benutzeroberfläche, an ein Dialogfeld, das von der Seite aus geöffnet wurde. |
send |
NUR ZUR INTERNEN VERWENDUNG. RUFEN SIE NICHT IN IHREM CODE AUF. |
Details zur Methode
addEventHandler(eventType, handler)
Registriert einen Ereignishandler. Die beiden unterstützten Ereignisse sind:
DialogMessageReceived. Wird ausgelöst, wenn das Dialogfeld eine Nachricht an das übergeordnete Element sendet.
DialogEventReceived. Wird ausgelöst, wenn das Dialogfeld geschlossen oder anderweitig entladen wurde.
addEventHandler(eventType: Office.EventType, handler: (args: {message: string, origin: string | undefined} | {error: number}) => void): void;
Parameter
- eventType
- Office.EventType
Muss entweder DialogMessageReceived oder DialogEventReceived sein.
- handler
-
(args: {message: string, origin: string | undefined} | {error: number}) => void
Eine Funktion, die entweder ein -Objekt mit einer - und -message
Eigenschaft akzeptiert, wenn eventType
istDialogMessageReceived
, oder ein Objekt mit einer error
-Eigenschaft, wenn eventType
istDialogEventReceived
.origin
Beachten Sie, dass sich die origin
Eigenschaft auf Clients befindet undefined
, die DialogOrigin 1.1 nicht unterstützen.
Gibt zurück
void
Beispiele
// The following example shows how to open a dialog with a specified size. It also shows
// how to register a function to handle the message when Office.UI.messageParent() is called
// in the dialog and how to use that handler to close the dialog. The implementation of the processMessage() function is omitted.
Office.context.ui.displayDialogAsync("https://www.contoso.com/myDialog.html", { height: 30, width: 20 },
(asyncResult) => {
const dialog = asyncResult.value;
dialog.addEventHandler(Office.EventType.DialogMessageReceived, (arg) => {
dialog.close();
processMessage(arg);
});
}
);
// The following example does the same thing in TypeScript.
Office.context.ui.displayDialogAsync("https://www.contoso.com/myDialog.html", { height: 30, width: 20 },
(asyncResult: Office.AsyncResult) => {
const dialog: Office.Dialog = asyncResult.value;
dialog.addEventHandler(Office.EventType.DialogMessageReceived, (arg: string) => {
dialog.close();
processMessage(arg);
});
}
);
close()
Wird von einer übergeordneten Seite aufgerufen, um das entsprechende Dialogfeld zu schließen.
Diese Methode ist asynchron. Er nimmt keinen Rückrufparameter und gibt kein Promise-Objekt zurück, sodass es weder mit dem await
Schlüsselwort (keyword) noch mit der then
Funktion erwartet werden kann. Weitere Informationen finden Sie in dieser bewährten Methode: Öffnen eines weiteren Dialogfelds unmittelbar nach dem Schließen eines Dialogfelds
close(): void;
Gibt zurück
void
Beispiele
// The following example shows how to open a dialog with a specified size. It also shows
// how to register a function to handle the message when Office.UI.messageParent() is called
// in the dialog and how to use that handler to close the dialog. The implementation of the processMessage() function is omitted.
Office.context.ui.displayDialogAsync("https://www.contoso.com/myDialog.html", { height: 30, width: 20 },
(asyncResult) => {
const dialog = asyncResult.value;
dialog.addEventHandler(Office.EventType.DialogMessageReceived, (arg) => {
dialog.close();
processMessage(arg);
});
}
);
// The following example does the same thing in TypeScript.
Office.context.ui.displayDialogAsync("https://www.contoso.com/myDialog.html", { height: 30, width: 20 },
(asyncResult: Office.AsyncResult) => {
const dialog: Office.Dialog = asyncResult.value;
dialog.addEventHandler(Office.EventType.DialogMessageReceived, (arg: string) => {
dialog.close();
processMessage(arg);
});
}
);
messageChild(message, messageOptions)
Übermittelt eine Nachricht von der Hostseite, z. B. einen Aufgabenbereich oder eine Funktionsdatei ohne Benutzeroberfläche, an ein Dialogfeld, das von der Seite aus geöffnet wurde.
messageChild(message: string, messageOptions?: DialogMessageOptions): void;
Parameter
- message
-
string
Akzeptiert eine Nachricht von der Hostseite, die an das Dialogfeld übermittelt werden soll. Alles, was in eine Zeichenfolge serialisiert werden kann, einschließlich JSON und XML, kann gesendet werden.
- messageOptions
- Office.DialogMessageOptions
Optional. Stellt Optionen zum Senden der Nachricht bereit.
Gibt zurück
void
Hinweise
Anwendungen: Excel, Outlook (Mindestanforderungssatz: Postfach 1.9), PowerPoint, Word
Anforderungssätze:
Wenn der
messageOptions
Parameter verwendet wird, ist auch DialogOrigin 1.1 erforderlich.
Obwohl das klassische Outlook für Mac Postfach 1.9 nicht unterstützt, unterstützt es DialogApi 1.2.
Beispiele
// The following example shows how to send information about the current active worksheet to the dialog.
await Excel.run(async (context) => {
const worksheet = context.workbook.worksheets.getActiveWorksheet();
worksheet.load();
await context.sync();
worksheetPropertiesChanged(worksheet);
});
...
function worksheetPropertiesChanged(currentWorksheet) {
const messageToDialog = JSON.stringify(currentWorksheet);
dialog.messageChild(messageToDialog);
}
sendMessage(name)
NUR ZUR INTERNEN VERWENDUNG. RUFEN SIE NICHT IN IHREM CODE AUF.
sendMessage(name: string): void;
Parameter
- name
-
string
Gibt zurück
void
Office Add-ins