Obtenir ou définir l’objet lors de la composition d’un rendez-vous ou d’un message dans Outlook
L’API JavaScript Office fournit des méthodes asynchrones (subject.getAsync et subject.setAsync) pour obtenir et définir l’objet d’un rendez-vous ou d’un message que l’utilisateur compose. Ces méthodes asynchrones sont disponibles uniquement pour composer des compléments. Pour utiliser ces méthodes, vérifiez que vous avez configuré le manifeste de complément uniquement de manière appropriée pour qu’Outlook active le complément dans les formulaires de composition.
La subject
propriété est disponible pour l’accès en lecture dans les formulaires de composition et de lecture de rendez-vous et de messages. Dans un formulaire de lecture, accédez à la propriété directement à partir de l’objet parent, comme dans :
Office.context.mailbox.item.subject;
Toutefois, dans un formulaire de composition, étant donné que l’utilisateur et votre complément peuvent insérer ou modifier l’objet en même temps, vous devez utiliser la getAsync
méthode pour obtenir l’objet de manière asynchrone.
Office.context.mailbox.item.subject.getAsync(callback);
La subject
propriété est disponible pour l’accès en écriture uniquement dans les formulaires de composition et non dans les formulaires de lecture.
Conseil
Pour définir temporairement le contenu affiché dans l’objet d’un message en mode lecture, utilisez Office.context.mailbox.item.display.subject (préversion) .
Comme avec la plupart des méthodes asynchrones dans l’API JavaScript Office, getAsync
et setAsync
prenez des paramètres d’entrée facultatifs. Pour plus d’informations sur la façon de spécifier ces paramètres d’entrée facultatifs, consultez « Passage de paramètres facultatifs à des méthodes asynchrones » dans Programmation asynchrone dans les compléments Office.
Obtention de l’objet
Cette section présente un exemple de code qui obtient l’objet du rendez-vous ou du message que l’utilisateur compose, et affiche l’objet.
Pour utiliser item.subject.getAsync
, fournissez une fonction de rappel qui vérifie l’état et le résultat de l’appel asynchrone. Vous pouvez fournir tous les arguments nécessaires à la fonction de rappel via le paramètre facultatif asyncContext
. Pour obtenir l’état, les résultats et toute erreur de la fonction de rappel, utilisez le asyncResult
paramètre de sortie du rappel. Si l’appel asynchrone réussit, utilisez la propriété AsyncResult.value pour obtenir l’objet sous forme de chaîne de texte brut.
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;
}
Définition de l’objet
Cette section présente un exemple de code qui définit l’objet du rendez-vous ou du message que l’utilisateur compose.
Pour utiliser item.subject.setAsync
, spécifiez une chaîne de 255 caractères maximum dans le data
paramètre . Si vous le souhaitez, vous pouvez fournir une fonction de rappel et tous les arguments pour la fonction de rappel dans le asyncContext
paramètre . Vérifiez l’état du rappel, le résultat et tout message d’erreur dans le asyncResult
paramètre de sortie du rappel. Si l’appel asynchrone réussit, setAsync
insère la chaîne d’objet spécifiée en texte brut, en remplaçant tout objet existant pour cet élément.
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;
}
Voir aussi
- Obtenir et définir des données d’élément dans un formulaire de composition dans Outlook
- Obtenir et définir des données d’élément Outlook dans des formulaires de lecture ou de composition
- Créer des compléments Outlook pour les formulaires de composition
- Programmation asynchrone dans les compléments Office
- Obtenir, définir ou ajouter des destinataires lors de la composition d’un rendez-vous ou d’un message dans Outlook
- Insérer des données dans le corps lors de la composition d’un rendez-vous ou d’un message dans Outlook
- Obtenir ou définir l’emplacement lors de la composition d’un rendez-vous dans Outlook
- Obtenir ou définir l’heure lors de la composition d’un rendez-vous dans Outlook