Office.Dialog interface
O objeto que é devolvido quando UI.displayDialogAsync
é chamado. Expõe métodos para registar processadores de eventos e fechar a caixa de diálogo.
Comentários
Conjunto de requisitos: DialogAPI
Métodos
add |
Registra um manipulador de eventos. Os dois eventos com suporte são:
|
close() | Chamado de uma página pai para fechar a caixa de diálogo correspondente. Este método é assíncrono. Não aceita um parâmetro de chamada de retorno e não devolve um objeto Promise, pelo que não pode ser aguardado com o |
message |
Entrega uma mensagem a partir da página do anfitrião, como um painel de tarefas ou um ficheiro de função sem IU, para uma caixa de diálogo que foi aberta a partir da página. |
send |
APENAS PARA UTILIZAÇÃO INTERNA. NÃO CHAME O SEU CÓDIGO. |
Detalhes do método
addEventHandler(eventType, handler)
Registra um manipulador de eventos. Os dois eventos com suporte são:
DialogMessageReceived. Disparado quando a caixa de diálogo envia uma mensagem para seu pai.
DialogEventReceived. Disparado quando a caixa de diálogo tiver sido fechada ou descarregada de outra forma.
addEventHandler(eventType: Office.EventType, handler: (args: {message: string, origin: string | undefined} | {error: number}) => void): void;
Parâmetros
- eventType
- Office.EventType
Tem de ser DialogMessageReceived ou DialogEventReceived.
- handler
-
(args: {message: string, origin: string | undefined} | {error: number}) => void
Uma função que aceita um objeto com uma message
propriedade eorigin
, se eventType
forDialogMessageReceived
, ou um objeto com uma error
propriedade, se eventType
for DialogEventReceived
. Tenha em atenção que a origin
propriedade está undefined
em clientes que não suportam DialogOrigin 1.1.
Retornos
void
Exemplos
// 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()
Chamado de uma página pai para fechar a caixa de diálogo correspondente.
Este método é assíncrono. Não aceita um parâmetro de chamada de retorno e não devolve um objeto Promise, pelo que não pode ser aguardado com o await
palavra-chave ou a then
função. Veja esta melhor prática para obter mais informações: Abrir outra caixa de diálogo imediatamente após fechar uma
close(): void;
Retornos
void
Exemplos
// 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)
Entrega uma mensagem a partir da página do anfitrião, como um painel de tarefas ou um ficheiro de função sem IU, para uma caixa de diálogo que foi aberta a partir da página.
messageChild(message: string, messageOptions?: DialogMessageOptions): void;
Parâmetros
- message
-
string
Aceita uma mensagem da página do anfitrião para entregar na caixa de diálogo. Qualquer coisa que possa ser serializada para uma cadeia, incluindo JSON e XML, pode ser enviada.
- messageOptions
- Office.DialogMessageOptions
Opcional. Fornece opções para como enviar a mensagem.
Retornos
void
Comentários
Aplicações: Excel, Outlook (Conjunto de requisitos mínimos: Caixa de Correio 1.9), PowerPoint Word
Conjuntos de requisitos:
Se o
messageOptions
parâmetro for utilizado, o DialogOrigin 1.1 também é necessário.
Embora o Outlook para Mac clássico não suporte a Caixa de Correio 1.9, suporta a DialogApi 1.2.
Exemplos
// 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)
APENAS PARA UTILIZAÇÃO INTERNA. NÃO CHAME O SEU CÓDIGO.
sendMessage(name: string): void;
Parâmetros
- name
-
string
Retornos
void