Office.Dialog interface
Objet retourné quand UI.displayDialogAsync
est appelé. Il expose des méthodes pour inscrire des gestionnaires d’événements et fermer la boîte de dialogue.
Remarques
Ensemble de conditions requises : DialogAPI
Méthodes
add |
Enregistre un gestionnaire d’événements. Les deux événements suivants sont pris en charge :
|
close() | Appelé à partir d’une page parent pour fermer la boîte de dialogue correspondante. Cette méthode est asynchrone. Il ne prend pas de paramètre de rappel et ne retourne pas d’objet Promise. Il ne peut donc pas être attendu avec le |
message |
Remet un message de la page hôte, tel qu’un volet Office ou un fichier de fonction sans interface utilisateur, à une boîte de dialogue qui a été ouverte à partir de la page. |
send |
À USAGE INTERNE UNIQUEMENT. N’APPELEZ PAS DANS VOTRE CODE. |
Détails de la méthode
addEventHandler(eventType, handler)
Enregistre un gestionnaire d’événements. Les deux événements suivants sont pris en charge :
DialogMessageReceived. Déclenché lorsque la boîte de dialogue envoie un message à son parent.
DialogEventReceived. Déclenché lorsque la boîte de dialogue a été fermée ou lorsque son chargement a été annulé.
addEventHandler(eventType: Office.EventType, handler: (args: {message: string, origin: string | undefined} | {error: number}) => void): void;
Paramètres
- eventType
- Office.EventType
Doit être DialogMessageReceived ou DialogEventReceived.
- handler
-
(args: {message: string, origin: string | undefined} | {error: number}) => void
Fonction qui accepte un objet avec une message
propriété et origin
, si eventType
estDialogMessageReceived
, ou un objet avec une error
propriété, si eventType
est DialogEventReceived
. Notez que la propriété se trouve undefined
sur les origin
clients qui ne prennent pas en charge DialogOrigin 1.1.
Retours
void
Exemples
// 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()
Appelé à partir d’une page parent pour fermer la boîte de dialogue correspondante.
Cette méthode est asynchrone. Il ne prend pas de paramètre de rappel et ne retourne pas d’objet Promise. Il ne peut donc pas être attendu avec le await
mot clé ou la then
fonction. Consultez cette bonne pratique pour plus d’informations : Ouverture d’une autre boîte de dialogue immédiatement après la fermeture d’une boîte de dialogue
close(): void;
Retours
void
Exemples
// 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)
Remet un message de la page hôte, tel qu’un volet Office ou un fichier de fonction sans interface utilisateur, à une boîte de dialogue qui a été ouverte à partir de la page.
messageChild(message: string, messageOptions?: DialogMessageOptions): void;
Paramètres
- message
-
string
Accepte un message de la page hôte à remettre au dialogue. Tout ce qui peut être sérialisé dans une chaîne, y compris JSON et XML, peut être envoyé.
- messageOptions
- Office.DialogMessageOptions
Optional. Fournit des options permettant d’envoyer le message.
Retours
void
Remarques
Applications : Excel, Outlook (ensemble de conditions minimales : Boîte aux lettres 1.9), PowerPoint, Word
Ensembles de conditions requises :
Si le
messageOptions
paramètre est utilisé, DialogOrigin 1.1 est également requis.
Bien qu’Outlook classique sur Mac ne prend pas en charge mailbox 1.9, il prend en charge DialogApi 1.2.
Exemples
// 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)
À USAGE INTERNE UNIQUEMENT. N’APPELEZ PAS DANS VOTRE CODE.
sendMessage(name: string): void;
Paramètres
- name
-
string
Retours
void