Obtener o establecer el asunto al redactar una cita o mensaje en Outlook
La API de JavaScript de Office proporciona métodos asincrónicos (subject.getAsync y subject.setAsync) para obtener y establecer el asunto de una cita o mensaje que el usuario está redactando. Estos métodos asincrónicos solo están disponibles para crear complementos. Para usar estos métodos, asegúrese de que ha configurado el manifiesto de solo complemento correctamente para que Outlook active el complemento en formularios de redacción.
La subject
propiedad está disponible para el acceso de lectura en formularios de redacción y lectura de citas y mensajes. En un formulario de lectura, acceda a la propiedad directamente desde el objeto primario, como en:
Office.context.mailbox.item.subject;
Pero en un formulario de redacción, dado que tanto el usuario como el complemento pueden insertar o cambiar el asunto al mismo tiempo, debe usar el getAsync
método para obtener el asunto de forma asincrónica.
Office.context.mailbox.item.subject.getAsync(callback);
La subject
propiedad está disponible para el acceso de escritura solo en formularios de redacción y no en formularios de lectura.
Sugerencia
Para establecer temporalmente el contenido mostrado en el asunto de un mensaje en modo de lectura, use Office.context.mailbox.item.display.subject (versión preliminar).
Al igual que con la mayoría de los métodos asincrónicos de la API de JavaScript de Office, getAsync
y setAsync
tomar parámetros de entrada opcionales. Para obtener más información sobre cómo especificar estos parámetros de entrada opcionales, vea "Pasar parámetros opcionales a métodos asincrónicos" en Programación asincrónica en complementos de Office.
Obtener el asunto
Esta sección muestra un código de ejemplo que obtiene y muestra el asunto de la cita o el mensaje que el usuario está redactando.
Para usar item.subject.getAsync
, proporcione una función de devolución de llamada que compruebe el estado y el resultado de la llamada asincrónica. Puede proporcionar los argumentos necesarios a la función de devolución de llamada a través del parámetro opcional asyncContext
. Para obtener el estado, los resultados y cualquier error de la función de devolución de llamada, use el asyncResult
parámetro de salida de la devolución de llamada. Si la llamada asincrónica se realiza correctamente, use la propiedad AsyncResult.value para obtener el asunto como una cadena de texto sin formato.
let item;
// Confirms that the Office.js library is loaded.
Office.onReady((info) => {
if (info.host === Office.HostType.Outlook) {
item = Office.context.mailbox.item;
getSubject();
}
});
// Gets the subject of the item that the user is composing.
function getSubject() {
item.subject.getAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
write(asyncResult.error.message);
return;
}
// Display the subject on the page.
write(`The subject is: ${asyncResult.value}`);
});
}
// Writes to a div with id="message" on the page.
function write(message) {
document.getElementById("message").innerText += message;
}
Configurar el asunto
Esta sección muestra un código de ejemplo que configura el asunto de una cita o un mensaje que el usuario está redactando.
Para usar item.subject.setAsync
, especifique una cadena de hasta 255 caracteres en el data
parámetro . Opcionalmente, puede proporcionar una función de devolución de llamada y cualquier argumento para la función de devolución de llamada en el asyncContext
parámetro . Compruebe el estado de la devolución de llamada, el resultado y cualquier mensaje de error en el asyncResult
parámetro de salida de la devolución de llamada. Si la llamada asincrónica se realiza correctamente, setAsync
inserta la cadena de asunto especificada como texto sin formato, sobrescribiendo cualquier asunto existente para ese elemento.
let item;
// Confirms that the Office.js library is loaded.
Office.onReady((info) => {
if (info.host === Office.HostType.Outlook) {
item = Office.context.mailbox.item;
setSubject();
}
});
// Sets the subject of the item that the user is composing.
function setSubject() {
// Customize the subject with today's date.
const today = new Date();
const subject = `Summary for ${today.toLocaleDateString()}`;
item.subject.setAsync(
subject,
{ asyncContext: { optionalVariable1: 1, optionalVariable2: 2 } },
(asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
write(asyncResult.error.message);
return;
}
/*
The subject was successfully set.
Run additional operations appropriate to your scenario and
use the optionalVariable1 and optionalVariable2 values as needed.
*/
});
}
// Writes to a div with id="message" on the page.
function write(message) {
document.getElementById("message").innerText += message;
}
Vea también
- Obtener y establecer datos de elementos en un formulario de redacción de Outlook
- Obtener y establecer datos de elementos de Outlook en formularios de lectura o redacción
- Crear complementos de Outlook para formularios de redacción
- Programación asincrónica en los complementos de Office
- Obtener, establecer o agregar destinatarios al redactar una cita o mensaje en Outlook
- Insertar datos en el cuerpo al redactar una cita o mensaje en Outlook
- Obtener o establecer la ubicación al redactar una cita en Outlook
- Obtener o establecer la hora al redactar una cita en Outlook