J'ai créé this il y a quelques jours dans lequel j'avais besoin d'aide pour ajouter des propriétés personnalisées à un document.(API JavaScript 1.3 pour Office) Propriétés personnalisées GetItemOrNull
Tout d'abord, je cours Word 1701 (7766.2047). Disons que j'ai une méthode dans laquelle je retourne une dite propriété personnalisée. D'abord, je vérifierais si la propriété personnalisée a déjà été créée. Je ferais cela avec un simple getItemOrNullObject (clé) et ..
- Si retourne NULL Ensuite, créez simplement et le retourner
- retour Sinon, il
Il est de ma compréhension que j'ai besoin faire un retour context.sync(). alors pour que l'objet soit réellement chargé avec des données? Est-ce que je fais trop de retour context.sync() appelle pour rien?
Word.run(function(context) {
var customDocProps = context.document.properties.customProperties;
context.load(customDocProps);
return context.sync()
.then(function() {
var temp = customDocProps.getItemOrNullObject("X");
return context.sync()
.then(function() {
if (!temp) {
context.document.properties.customProperties.add("X", 1234);
temp = customDocProps.getItemOrNullObject("X");
return context.sync()
.then(function() {
return temp;
});
} else {
return temp;
}
});
});
});
Le code suivant me lance un 'ReferenceError: 'Parole' est indéfini' au début, mais si je le débugger il fonctionne avant qu'il ne casse
var customDocProps = context.document.properties.customProperties; context.load(customDocProps); return context.sync().{....}
J'ai également une autre question. Dire que je veux mettre à jour ma propriété personnalisée, serait:
Word.run(function (context) {
context.document.properties.customProperties.add("X", 56789);
return context.sync();
});
override la valeur ancienne avec la nouvelle?
Si vous lisez jusqu'ici merci! Toute aide est appréciée. À la votre!
il est de ma compréhension que Word.run() s'exécute async donc si je veux stocker sa valeur de retour, je devrais essayer d'utiliser un rappel. Est-ce possible avec Word.run()? –
Si vous voulez retourner la valeur de la propriété il suffit de retourner ce qui est sur myProperty.value de mon échantillon. –
en utilisant votre échantillon. Lorsque la balise est nulle, j'obtiens toujours une exception générale après context.sync() C'est verbatum comme vous l'avez écrit, donc je ne peux pas voir ce qui ne va pas. Devrais-je ouvrir une nouvelle question? http://imgur.com/a/TKujx –