Office.Dialog interface
Objeto que se devuelve cuando UI.displayDialogAsync
se llama a . Expone métodos para registrar controladores de eventos y cerrar el cuadro de diálogo.
Comentarios
Conjunto de requisitos: DialogAPI
Métodos
add |
Registra un controlador de eventos. Los dos eventos compatibles son:
|
close() | Llamado desde una página principal para cerrar el cuadro de diálogo correspondiente. Este método es asincrónico. No toma un parámetro de devolución de llamada y no devuelve un objeto Promise, por lo que no se puede esperar con la |
message |
Entrega un mensaje de la página host, como un panel de tareas o un archivo de función sin interfaz de usuario, a un cuadro de diálogo que se abrió desde la página. |
send |
SOLO PARA USO INTERNO. NO LLAME A EN EL CÓDIGO. |
Detalles del método
addEventHandler(eventType, handler)
Registra un controlador de eventos. Los dos eventos compatibles son:
DialogMessageReceived. Se desencadena cuando el cuadro de diálogo envía un mensaje a su elemento principal.
DialogEventReceived. Se desencadena cuando el cuadro de diálogo se ha cerrado o descargado.
addEventHandler(eventType: Office.EventType, handler: (args: {message: string, origin: string | undefined} | {error: number}) => void): void;
Parámetros
- eventType
- Office.EventType
Debe ser DialogMessageReceived o DialogEventReceived.
- handler
-
(args: {message: string, origin: string | undefined} | {error: number}) => void
Función que acepta un objeto con una message
propiedad y origin
, si eventType
es DialogMessageReceived
, o bien un objeto con una error
propiedad , si eventType
es DialogEventReceived
. Tenga en cuenta que la origin
propiedad está undefined
en clientes que no admiten DialogOrigin 1.1.
Devoluciones
void
Ejemplos
// 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()
Llamado desde una página principal para cerrar el cuadro de diálogo correspondiente.
Este método es asincrónico. No toma un parámetro de devolución de llamada y no devuelve un objeto Promise, por lo que no se puede esperar con la await
palabra clave o la then
función . Consulte este procedimiento recomendado para obtener más información: Abrir otro cuadro de diálogo inmediatamente después de cerrar uno
close(): void;
Devoluciones
void
Ejemplos
// 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 un mensaje de la página host, como un panel de tareas o un archivo de función sin interfaz de usuario, a un cuadro de diálogo que se abrió desde la página.
messageChild(message: string, messageOptions?: DialogMessageOptions): void;
Parámetros
- message
-
string
Acepta un mensaje de la página host para entregarlo al cuadro de diálogo. Todo lo que se puede serializar en una cadena, incluidos JSON y XML, se puede enviar.
- messageOptions
- Office.DialogMessageOptions
Opcional. Proporciona opciones para enviar el mensaje.
Devoluciones
void
Comentarios
Aplicaciones: Excel, Outlook (conjunto de requisitos mínimos: Buzón 1.9), PowerPoint, Word
Conjuntos de requisitos:
Si se usa el
messageOptions
parámetro , también se requiere DialogOrigin 1.1 .
Aunque outlook clásico en Mac no admite el buzón 1.9, sí admite DialogApi 1.2.
Ejemplos
// 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)
SOLO PARA USO INTERNO. NO LLAME A EN EL CÓDIGO.
sendMessage(name: string): void;
Parámetros
- name
-
string
Devoluciones
void