Office.Dialog interface
L’objet qui est renvoyé quand UI.displayDialogAsync est appelé. Il expose les méthodes d’inscription des gestionnaires d’événements et de fermeture de la boîte de dialogue.
Remarques
Jeu de conditions préalables : DialogApi
Utilisateur
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.
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();
// Do something to process the message.
});
}
);
// 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();
// Do something to process the message.
});
}
);
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 |
Transmet un message à partir de la page hôte, telle 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 |
POUR USAGE INTERNE UNIQUEMENT. N’APPELEZ PAS 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 soit un objet avec une message propriété etorigin, si eventType estDialogMessageReceived , soit un objet avec une error propriété, si eventType est DialogEventReceived. Notez que la propriété se trouve undefined sur des 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. Pour plus d’informations, reportez-vous à cette bonne pratique : Ouvrir une autre boîte de dialogue immédiatement après en avoir fermé une
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)
Transmet un message à partir de la page hôte, telle 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 à la boîte de dialogue. Tout ce qui peut être sérialisé dans une chaîne, y compris JSON et XML, peut être envoyé.
- messageOptions
- Office.DialogMessageOptions
Facultatif. Fournit des options pour envoyer le message.
Retours
void
Remarques
Applications : Excel, Outlook (configuration minimale requise : Boîte aux lettres 1.9), PowerPoint, Word
Ensembles de conditions requises :
Si le
messageOptionsparamètre est utilisé, DialogOrigin 1.1 est également requis.
Bien que Outlook classique sur Mac ne prenne 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)
POUR USAGE INTERNE UNIQUEMENT. N’APPELEZ PAS VOTRE CODE.
sendMessage(name: string): void;
Paramètres
- name
-
string
Retours
void