Office.Binding interface
Représente une liaison à une section du document.
L’objet Binding expose les fonctionnalités possédées par toutes les liaisons, quel que soit leur type.
L’objet Binding n’est jamais appelé directement. Il s’agit de la classe parente abstraite des objets qui représentent chaque type de liaison : Office.MatrixBinding, Office.TableBinding ou Office.TextBinding. Ces trois objets héritent des méthodes getDataAsync et setDataAsync de l’objet Binding qui vous permettent d’interagir avec les données de la liaison. Ils héritent également des propriétés d’ID et de type pour interroger ces valeurs de propriété. En outre, les objets MatrixBinding et TableBinding exposent des méthodes supplémentaires pour les fonctionnalités relatives aux matrices et aux tableaux, par exemple le dénombrement des lignes et des colonnes.
Remarques
Applications : Word, Excel (déconseillé, utilisez Excel.Binding à la place)
Ensembles de conditions requises :
Propriétés
document | Obtient l’objet Document associé à la liaison. |
id | Chaîne qui identifie de façon unique cette liaison parmi les liaisons du même objet Office.Document . |
type | Obtient le type de la liaison. |
Méthodes
add |
Ajoute un gestionnaire d’événements à l’objet pour l’objet Office.EventType spécifié. Les EventTypes pris en charge sont |
add |
Ajoute un gestionnaire d’événements à l’objet pour l’objet Office.EventType spécifié. Les EventTypes pris en charge sont |
get |
Retourne les données contenues dans la liaison. |
get |
Retourne les données contenues dans la liaison. |
remove |
Supprime le gestionnaire spécifié de la liaison pour le type d’événement spécifié. |
remove |
Supprime le gestionnaire spécifié de la liaison pour le type d’événement spécifié. |
set |
Écrit des données dans la section liée du document représenté par l’objet de liaison spécifié. |
set |
Écrit des données dans la section liée du document représenté par l’objet de liaison spécifié. |
Détails de la propriété
document
Obtient l’objet Document associé à la liaison.
document: Office.Document;
Valeur de propriété
Exemples
Office.context.document.bindings.getByIdAsync("myBinding", function (asyncResult) {
write(asyncResult.value.document.url);
});
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
id
Chaîne qui identifie de façon unique cette liaison parmi les liaisons du même objet Office.Document .
id: string;
Valeur de propriété
string
Exemples
Office.context.document.bindings.getByIdAsync("myBinding", function (asyncResult) {
write(asyncResult.value.id);
});
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
type
Obtient le type de la liaison.
type: Office.BindingType;
Valeur de propriété
Exemples
Office.context.document.bindings.getByIdAsync("MyBinding", function (asyncResult) {
write(asyncResult.value.type);
})
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
Détails de la méthode
addHandlerAsync(eventType, handler, options, callback)
Ajoute un gestionnaire d’événements à l’objet pour l’objet Office.EventType spécifié. Les EventTypes pris en charge sont Office.EventType.BindingDataChanged
et Office.EventType.BindingSelectionChanged
.
addHandlerAsync(eventType: Office.EventType, handler: any, options?: Office.AsyncContextOptions, callback?: (result: Office.AsyncResult<void>) => void): void;
Paramètres
- eventType
- Office.EventType
Type d’événement. Pour les liaisons, il peut s’agir Office.EventType.BindingDataChanged
de ou Office.EventType.BindingSelectionChanged
.
- handler
-
any
Fonction de gestionnaire d’événements à ajouter, dont le seul paramètre est de type Office.BindingDataChangedEventArgs ou Office.BindingSelectionChangedEventArgs.
- options
- Office.AsyncContextOptions
Fournit une option permettant de conserver les données de contexte de tout type, inchangées, pour une utilisation dans un rappel.
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Fonction appelée lorsque le rappel est retourné, dont le seul paramètre est de type Office.AsyncResult.
Retours
void
Remarques
Ensemble de conditions requises : BindingEvents
Vous pouvez ajouter plusieurs gestionnaires d’événements pour le eventType spécifié tant que le nom de chaque fonction de gestionnaire d’événements est unique.
addHandlerAsync(eventType, handler, callback)
Ajoute un gestionnaire d’événements à l’objet pour l’objet Office.EventType spécifié. Les EventTypes pris en charge sont Office.EventType.BindingDataChanged
et Office.EventType.BindingSelectionChanged
.
addHandlerAsync(eventType: Office.EventType, handler: any, callback?: (result: Office.AsyncResult<void>) => void): void;
Paramètres
- eventType
- Office.EventType
Type d’événement. Pour les liaisons, il peut s’agir Office.EventType.BindingDataChanged
de ou Office.EventType.BindingSelectionChanged
.
- handler
-
any
Fonction de gestionnaire d’événements à ajouter, dont le seul paramètre est de type Office.BindingDataChangedEventArgs ou Office.BindingSelectionChangedEventArgs.
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Fonction appelée lorsque le rappel est retourné, dont le seul paramètre est de type Office.AsyncResult.
Retours
void
Remarques
Ensemble de conditions requises : BindingEvents
Vous pouvez ajouter plusieurs gestionnaires d’événements pour le eventType spécifié tant que le nom de chaque fonction de gestionnaire d’événements est unique.
Exemples
// The following code sample calls the select function of the Office object to access the binding
// with ID "MyBinding", and then calls the addHandlerAsync method to add a handler function
// for the bindingDataChanged event of that binding.
function addEventHandlerToBinding() {
Office.select("bindings#MyBinding").addHandlerAsync(
Office.EventType.BindingDataChanged, onBindingDataChanged);
}
function onBindingDataChanged(eventArgs) {
write("Data has changed in binding: " + eventArgs.binding.id);
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// To add an event handler for the BindingSelectionChanged event of a binding,
// use the addHandlerAsync method of the Binding object.
// The event handler receives an argument of type BindingSelectionChangedEventArgs.
function addEventHandlerToBinding() {
Office.select("bindings#MyBinding").addHandlerAsync(
Office.EventType.BindingSelectionChanged, onBindingSelectionChanged);
}
function onBindingSelectionChanged(eventArgs) {
write(eventArgs.binding.id + " has been selected.");
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
getDataAsync(options, callback)
Retourne les données contenues dans la liaison.
getDataAsync<T>(options?: GetBindingDataOptions, callback?: (result: AsyncResult<T>) => void): void;
Paramètres
- options
- Office.GetBindingDataOptions
Fournit des options permettant d’obtenir les données dans une liaison.
- callback
-
(result: Office.AsyncResult<T>) => void
Optional. Fonction appelée lorsque le rappel est retourné, dont le seul paramètre est de type Office.AsyncResult. La value
propriété du résultat est les valeurs de la liaison spécifiée. Si le coercionType
paramètre est spécifié (et que l’appel réussit), les données sont retournées au format décrit dans la rubrique énumération CoercionType.
Retours
void
Remarques
Ensembles de conditions requises :
HtmlCoercion (lors de l’utilisation de
Office.CoercionType.Html
)MatrixCoercion (lors de l’utilisation de
Office.CoercionType.Matrix
)OoxmlCoercion (lors de l’utilisation de
Office.CoercionType.Ooxml
)TableCoercion (lors de l’utilisation de
Office.CoercionType.Table
)TextCoercion (lors de l’utilisation de
Office.CoercionType.Text
)
Lorsqu’elle est appelée à partir d’un MatrixBinding ou d’un TableBinding, la méthode getDataAsync retourne un sous-ensemble des valeurs liées si les paramètres facultatifs startRow, startColumn, rowCount et columnCount sont spécifiés (et qu’ils spécifient une plage contiguë et valide).
getDataAsync(callback)
Retourne les données contenues dans la liaison.
getDataAsync<T>(callback?: (result: AsyncResult<T>) => void): void;
Paramètres
- callback
-
(result: Office.AsyncResult<T>) => void
Optional. Fonction appelée lorsque le rappel est retourné, dont le seul paramètre est de type Office.AsyncResult. La value
propriété du résultat est les valeurs de la liaison spécifiée. Si le coercionType
paramètre est spécifié (et que l’appel réussit), les données sont retournées au format décrit dans la rubrique énumération CoercionType.
Retours
void
Remarques
Ensembles de conditions requises :
HtmlCoercion (lors de l’utilisation de
Office.CoercionType.Html
)MatrixCoercion (lors de l’utilisation de
Office.CoercionType.Matrix
)OoxmlCoercion (lors de l’utilisation de
Office.CoercionType.Ooxml
)TableCoercion (lors de l’utilisation de
Office.CoercionType.Table
)TextCoercion (lors de l’utilisation de
Office.CoercionType.Text
)
Lorsqu’elle est appelée à partir d’un MatrixBinding ou d’un TableBinding, la méthode getDataAsync retourne un sous-ensemble des valeurs liées si les paramètres facultatifs startRow, startColumn, rowCount et columnCount sont spécifiés (et qu’ils spécifient une plage contiguë et valide).
Exemples
function showBindingData() {
Office.select("bindings#MyBinding").getDataAsync(function (asyncResult) {
write(asyncResult.value)
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// There is an important difference in behavior between using the "table" and "matrix" coercionType with the
// Binding.getDataAsync method, with respect to data formatted with header rows, as shown in the following
// two examples. These code examples show event handler functions for the Binding.SelectionChanged event.
// If you specify the "table" coercionType, the TableData.rows property ( result.value.rows in the following
// code example) returns an array that contains only the body rows of the table. So, its 0th row will be the
// first non-header row in the table.
function selectionChanged(evtArgs) {
Office.select("bindings#TableTranslate").getDataAsync(
{ coercionType: 'table',
startRow: evtArgs.startRow,
startCol: 0,
rowCount: 1,
columnCount: 1 },
function (result) {
if (result.status == 'succeeded') {
write("Image to find: " + result.value.rows[0][0]);
}
else
write(result.error.message);
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// However, if you specify the "matrix" coercionType, result.value in the following code example returns an array
// that contains the table header in the 0th row. If the table header contains multiple rows, then these are all
// included in the result.value matrix as separate rows before the table body rows are included.
function selectionChanged(evtArgs) {
Office.select("bindings#TableTranslate").getDataAsync(
{ coercionType: 'matrix',
startRow: evtArgs.startRow,
startCol: 0,
rowCount: 1,
columnCount: 1 },
function (result) {
if (result.status == 'succeeded') {
write("Image to find: " + result.value[1][0]);
}
else
write(result.error.message);
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
removeHandlerAsync(eventType, options, callback)
Supprime le gestionnaire spécifié de la liaison pour le type d’événement spécifié.
removeHandlerAsync(eventType: Office.EventType, options?: RemoveHandlerOptions, callback?: (result: AsyncResult<void>) => void): void;
Paramètres
- eventType
- Office.EventType
Type d’événement. Pour les liaisons, il peut s’agir Office.EventType.BindingDataChanged
de ou Office.EventType.BindingSelectionChanged
.
- options
- Office.RemoveHandlerOptions
Fournit des options pour déterminer le ou les gestionnaires d’événements qui sont supprimés.
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Fonction appelée lorsque le rappel est retourné, dont le seul paramètre est de type Office.AsyncResult.
Retours
void
Remarques
Ensemble de conditions requises : BindingEvents
removeHandlerAsync(eventType, callback)
Supprime le gestionnaire spécifié de la liaison pour le type d’événement spécifié.
removeHandlerAsync(eventType: Office.EventType, callback?: (result: AsyncResult<void>) => void): void;
Paramètres
- eventType
- Office.EventType
Type d’événement. Pour les liaisons, il peut s’agir Office.EventType.BindingDataChanged
de ou Office.EventType.BindingSelectionChanged
.
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Fonction appelée lorsque le rappel est retourné, dont le seul paramètre est de type Office.AsyncResult.
Retours
void
Remarques
Ensemble de conditions requises : BindingEvents
Exemples
function removeEventHandlerFromBinding() {
Office.select("bindings#MyBinding").removeHandlerAsync(
Office.EventType.BindingDataChanged, {handler:onBindingDataChanged});
}
setDataAsync(data, options, callback)
Écrit des données dans la section liée du document représenté par l’objet de liaison spécifié.
setDataAsync(data: TableData | any, options?: SetBindingDataOptions, callback?: (result: AsyncResult<void>) => void): void;
Paramètres
- data
-
Office.TableData | any
Données à définir dans la sélection actuelle. Types de données possibles par application Office :
chaîne : Excel sur le Web et Windows, et Word sur le web et sur Windows uniquement
tableau de tableaux : Excel et Word uniquement
Office.TableData : Excel et Word uniquement
HTML : Word sur le web et sur Windows uniquement
Office Open XML : Word uniquement
- options
- Office.SetBindingDataOptions
Fournit des options pour définir les données dans une liaison.
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Fonction appelée lorsque le rappel est retourné, dont le seul paramètre est de type Office.AsyncResult.
Retours
void
Remarques
Ensembles de conditions requises :
HtmlCoercion (lors de l’utilisation de
Office.CoercionType.Html
)MatrixCoercion (lors de l’utilisation de
Office.CoercionType.Matrix
)OoxmlCoercion (lors de l’utilisation de
Office.CoercionType.Ooxml
)TableCoercion (lors de l’utilisation de
Office.CoercionType.Table
)TextCoercion (lors de l’utilisation de
Office.CoercionType.Text
)
La valeur passée pour les données contient les données à écrire dans la liaison. Le type de valeur transmis détermine ce qui sera écrit, comme le décrit le tableau suivant.
Valeur data | Données écrites |
---|---|
Une chaîne de caractère | Le texte brut ou tout ce qui peut être contenu sous la force d’une chaîne sera écrit. |
Tableau de tableaux (« matrice ») | Les données sous forme de tableau sans en-têtes seront écrites. Par exemple, pour écrire des données sur trois lignes dans deux colonnes, vous pouvez transmettre un tableau comme suit : \[\["R1C1", "R1C2"\], \["R2C1", "R2C2"\], \["R3C1", "R3C2"\]\] . Pour écrire une seule colonne de trois lignes, passez un tableau comme suit : \[\["R1C1"\], \["R2C1"\], \["R3C1"\]\] . |
Objet TableData | Un tableau avec des en-têtes est écrit. |
En outre, ces actions (spécifiques aux applications) s’appliquent lors de l’écriture de données dans une liaison. Par Word, les données spécifiées sont écrites dans la liaison comme suit.
Valeur data | Données écrites |
---|---|
Une chaîne de caractère | Le texte spécifié est écrit. |
Tableau de tableaux (« matrice ») ou objet TableData | Un tableau Word est écrit. |
HTML | Le code HTML spécifié est écrit. Si le code HTML que vous écrivez n’est pas valide, Word ne déclenche aucune erreur. Word écrit autant de code HTML que possible et omet les données non valides. |
Office Open XML (« Open XML ») | Le code XML spécifié est écrit. |
Pour Excel, les données spécifiées sont écrites dans la liaison comme suit.
Valeur data | Données écrites |
---|---|
Une chaîne de caractère | Le texte spécifié est inséré en tant que valeur de la première cellule liée. Vous pouvez également spécifier une formule valide pour l’ajouter à la cellule liée. Par exemple, la définition du paramètre data sur "=SUM(A1:A5)" totalisera les valeurs de la plage spécifiée. Toutefois, après avoir défini une formule sur la cellule liée, vous ne pouvez pas lire la formule ajoutée (ni les formules préexistantes) à partir de la cellule liée. Si vous appelez la méthode Binding.getDataAsync sur la cellule liée pour en lire les données, la méthode peut renvoyer uniquement les données affichées dans la cellule (le résultat de la formule). |
Tableau de tableaux ("matrix") et la forme correspond exactement à la forme de la liaison spécifiée | L’ensemble de lignes et de colonnes est écrit. Vous pouvez également spécifier un tableau de tableaux qui contiennent des formules valides pour les ajouter aux cellules liées. Par exemple, la définition de données sur \[\["=SUM(A1:A5)","=AVERAGE(A1:A5)"\]\] ajoute ces deux formules à une liaison qui contient deux cellules. Tout comme lorsque vous définissez une formule sur une seule cellule liée, vous ne pouvez pas lire les formules ajoutées (ou les formules préexistantes) à partir de la liaison avec la Binding.getDataAsync méthode : elle retourne uniquement les données affichées dans les cellules liées. |
Objet TableData et la forme du tableau correspond à la table liée | L’ensemble spécifié de lignes et/ou d’en-têtes est écrit, si aucune autre donnée dans les cellules environnantes ne sera écrasée. **Remarque** : si vous spécifiez des formules dans l’objet TableData que vous passez pour le paramètre *data*, vous risquez de ne pas obtenir les résultats attendus en raison de la fonctionnalité « colonnes calculées » d’Excel, qui duplique automatiquement les formules dans une colonne. Pour contourner ce problème lorsque vous souhaitez écrire des *données* qui contiennent des formules dans une table liée, essayez de spécifier les données sous la forme d’un tableau de tableaux (au lieu d’un TableData objet) et spécifiez *coercionType* comme Microsoft.Office.Matrix ou « matrice ». |
Pour Excel sur le Web :
Le nombre total de cellules dans la valeur passée au paramètre de données ne peut pas dépasser 20 000 dans un seul appel à cette méthode.
Le nombre de groupes de mise en forme passés au paramètre cellFormat ne peut pas dépasser 100. Un groupe de mise en forme se compose d’un ensemble de mises en forme appliquées à une plage de cellules donnée.
Dans tous les autres cas, une erreur est retournée.
La méthode setDataAsync écrit des données dans un sous-ensemble d’une liaison de table ou de matrice si les paramètres facultatifs startRow et startColumn sont spécifiés et qu’ils spécifient une plage valide.
Dans la fonction de rappel passée à la méthode setDataAsync, vous pouvez utiliser les propriétés de l’objet AsyncResult pour renvoyer les informations suivantes.
Propriété | Utilisation |
---|---|
AsyncResult.value | Retourne undefined toujours, car il n’y a pas d’objet ou de données à récupérer. |
AsyncResult.status | Déterminer si l’opération a réussi ou échoué. |
AsyncResult.error | Accéder à un objet Error fournissant des informations sur l’erreur en cas d’échec de l’opération. |
AsyncResult.asyncContext | Définissez un élément de tout type retourné dans l’objet AsyncResult sans être modifié. |
setDataAsync(data, callback)
Écrit des données dans la section liée du document représenté par l’objet de liaison spécifié.
setDataAsync(data: TableData | any, callback?: (result: AsyncResult<void>) => void): void;
Paramètres
- data
-
Office.TableData | any
Données à définir dans la sélection actuelle. Types de données possibles par application Office :
chaîne : Excel sur le Web et sur Windows, et Word sur le web et sur Windows uniquement
tableau de tableaux : Excel et Word uniquement
TableData
: Excel et Word uniquement
HTML : Word sur le web et sur Windows uniquement
Office Open XML : Word uniquement
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Fonction appelée lorsque le rappel est retourné, dont le seul paramètre est de type Office.AsyncResult.
Retours
void
Remarques
Ensembles de conditions requises :
HtmlCoercion (lors de l’utilisation de
Office.CoercionType.Html
)MatrixCoercion (lors de l’utilisation de
Office.CoercionType.Matrix
)OoxmlCoercion (lors de l’utilisation de
Office.CoercionType.Ooxml
)TableCoercion (lors de l’utilisation de
Office.CoercionType.Table
)TextCoercion (lors de l’utilisation de
Office.CoercionType.Text
)
La valeur passée pour les données contient les données à écrire dans la liaison. Le type de valeur transmis détermine ce qui sera écrit, comme le décrit le tableau suivant.
Valeur data | Données écrites |
---|---|
Une chaîne de caractère | Le texte brut ou tout ce qui peut être contenu sous la force d’une chaîne sera écrit. |
Tableau de tableaux (« matrice ») | Les données sous forme de tableau sans en-têtes seront écrites. Par exemple, pour écrire des données sur trois lignes dans deux colonnes, vous pouvez transmettre un tableau comme suit : \[\["R1C1", "R1C2"\], \["R2C1", "R2C2"\], \["R3C1", "R3C2"\]\] . Pour écrire une seule colonne de trois lignes, passez un tableau comme suit : \[\["R1C1"\], \["R2C1"\], \["R3C1"\]\] . |
Objet TableData | Un tableau avec des en-têtes est écrit. |
En outre, ces actions (spécifiques aux applications) s’appliquent lors de l’écriture de données dans une liaison. Par Word, les données spécifiées sont écrites dans la liaison comme suit.
Valeur data | Données écrites |
---|---|
Une chaîne de caractère | Le texte spécifié est écrit. |
Tableau de tableaux (« matrice ») ou objet TableData | Un tableau Word est écrit. |
HTML | Le code HTML spécifié est écrit. Si le code HTML que vous écrivez n’est pas valide, Word ne déclenche aucune erreur. Word écrit autant de code HTML que possible et omet les données non valides. |
Office Open XML (« Open XML ») | Le code XML spécifié est écrit. |
Pour Excel, les données spécifiées sont écrites dans la liaison comme suit.
Valeur data | Données écrites |
---|---|
Une chaîne de caractère | Le texte spécifié est inséré en tant que valeur de la première cellule liée. Vous pouvez également spécifier une formule valide pour l’ajouter à la cellule liée. Par exemple, la définition du paramètre data sur "=SUM(A1:A5)" totalisera les valeurs de la plage spécifiée. Toutefois, après avoir défini une formule sur la cellule liée, vous ne pouvez pas lire la formule ajoutée (ni les formules préexistantes) à partir de la cellule liée. Si vous appelez la Binding.getDataAsync méthode sur la cellule liée pour lire ses données, la méthode peut retourner uniquement les données affichées dans la cellule (résultat de la formule). |
Tableau de tableaux ("matrix") et la forme correspond exactement à la forme de la liaison spécifiée | L’ensemble de lignes et de colonnes est écrit. Vous pouvez également spécifier un tableau de tableaux qui contiennent des formules valides pour les ajouter aux cellules liées. Par exemple, la définition de données sur \[\["=SUM(A1:A5)","=AVERAGE(A1:A5)"\]\] ajoute ces deux formules à une liaison qui contient deux cellules. Tout comme lorsque vous définissez une formule sur une seule cellule liée, vous ne pouvez pas lire les formules ajoutées (ou les formules préexistantes) à partir de la liaison avec la Binding.getDataAsync méthode : elle retourne uniquement les données affichées dans les cellules liées. |
Objet TableData et la forme du tableau correspond à la table liée | L’ensemble spécifié de lignes et/ou d’en-têtes est écrit, si aucune autre donnée dans les cellules environnantes ne sera écrasée. **Remarque** : si vous spécifiez des formules dans l’objet TableData que vous passez pour le paramètre *data*, vous risquez de ne pas obtenir les résultats attendus en raison de la fonctionnalité « colonnes calculées » d’Excel, qui duplique automatiquement les formules dans une colonne. Pour contourner ce problème lorsque vous souhaitez écrire des *données* qui contiennent des formules dans une table liée, essayez de spécifier les données sous la forme d’un tableau de tableaux (au lieu d’un TableData objet) et spécifiez *coercionType* comme Microsoft.Office.Matrix ou « matrice ». |
Pour Excel sur le Web :
Le nombre total de cellules dans la valeur passée au paramètre de données ne peut pas dépasser 20 000 dans un seul appel à cette méthode.
Le nombre de groupes de mise en forme passés au paramètre cellFormat ne peut pas dépasser 100. Un groupe de mise en forme se compose d’un ensemble de mises en forme appliquées à une plage de cellules donnée.
Dans tous les autres cas, une erreur est retournée.
La méthode setDataAsync écrit des données dans un sous-ensemble d’une liaison de table ou de matrice si les paramètres facultatifs startRow et startColumn sont spécifiés et qu’ils spécifient une plage valide.
Dans la fonction de rappel passée à la méthode setDataAsync, vous pouvez utiliser les propriétés de l’objet AsyncResult pour renvoyer les informations suivantes.
Propriété | Utilisation |
---|---|
AsyncResult.value | Retourne undefined toujours, car il n’y a pas d’objet ou de données à récupérer. |
AsyncResult.status | Déterminer si l’opération a réussi ou échoué. |
AsyncResult.error | Accéder à un objet Error fournissant des informations sur l’erreur en cas d’échec de l’opération. |
AsyncResult.asyncContext | Définissez un élément de tout type retourné dans l’objet AsyncResult sans être modifié. |
Exemples
function setBindingData() {
Office.select("bindings#MyBinding").setDataAsync('Hello World!', function (asyncResult) { });
}
// Specifying the optional coercionType parameter lets you specify the kind of data you want to write to a binding.
// For example, in Word if you want to write HTML to a text binding, you can specify the coercionType parameter
// as "html" as shown in the following example, which uses HTML <b> tags to make "Hello" bold.
function writeHtmlData() {
Office.select("bindings#myBinding").setDataAsync(
"<b>Hello</b> World!", {coercionType: "html"}, function (asyncResult) {
if (asyncResult.status == "failed") {
write('Error: ' + asyncResult.error.message);
}
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// In this example, the call to setDataAsync passes the data parameter as an array of arrays
// (to create a single column of three rows), and specifies the data structure with the
// coercionType parameter as a "matrix".
function writeBoundDataMatrix() {
Office.select("bindings#myBinding").setDataAsync(
[['Berlin'],['Munich'],['Duisburg']],{ coercionType: "matrix" }, function (asyncResult) {
if (asyncResult.status == "failed") {
write('Error: ' + asyncResult.error.message);
} else {
write('Bound data: ' + asyncResult.value);
}
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// In the writeBoundDataTable function in this example, the call to setDataAsync passes the data parameter
// as a TableData object (to write three columns and three rows), and specifies the data structure
// with the coercionType parameter as a "table".
// In the updateTableData function, the call to setDataAsync again passes the data parameter as a TableData object,
// but as a single column with a new header and three rows, to update the values in the last column
// of the table created with the writeBoundDataTable function. The optional zero-based startColumn parameter
// is specified as 2 to replace the values in the third column of the table.
function writeBoundDataTable() {
// Create a TableData object.
const myTable = new Office.TableData();
myTable.headers = ['First Name', 'Last Name', 'Grade'];
myTable.rows = [['Kim', 'Abercrombie', 'A'], ['Junmin','Hao', 'C'],['Toni','Poe','B']];
// Set myTable in the binding.
Office.select("bindings#myBinding").setDataAsync(myTable, { coercionType: "table" },
function (asyncResult) {
if (asyncResult.status == Office.AsyncResultStatus.Failed) {
write('Error: '+ asyncResult.error.message);
} else {
write('Bound data: ' + asyncResult.value);
}
});
}
// Replace last column with different data.
function updateTableData() {
const newTable = new Office.TableData();
newTable.headers = ["Gender"];
newTable.rows = [["M"],["M"],["F"]];
Office.select("bindings#myBinding").setDataAsync(newTable, { coercionType: "table", startColumn:2 },
function (asyncResult) {
if (asyncResult.status == Office.AsyncResultStatus.Failed) {
write('Error: '+ asyncResult.error.message);
} else {
write('Bound data: ' + asyncResult.value);
}
});
}
// In this example, the following call passes two formatting groups to cellFormat.
Office.select("bindings#myBinding").setDataAsync([['Berlin'],['Munich'],['Duisburg']],
{cellFormat:[{cells: {row: 1}, format: {fontColor: "yellow"}},
{cells: {row: 3, column: 4}, format: {borderColor: "white", fontStyle: "bold"}}]},
function (asyncResult){});