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

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é.

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

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.

sendMessage(name)

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 :

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