Bindings.addFromNamedItemAsync method
Adds a binding to a named item in the document.
| Hosts: | Access, Excel, Word |
| Available in Requirement set | MatrixBindings, TableBindings, TextBindings |
| Last changed | 1.1 |
Office.context.document.bindings.addFromNamedItemAsync(itemName, bindingType [, options], callback);
Parameters
| Name | Type | Description | Support notes |
|---|---|---|---|
| itemName | string | The name of the named item. Required. | |
| bindingType | BindingType | Specifies the type of the binding object to create. Required. Returns null if the selected object cannot be coerced into the specified type. | |
| options | object | Specifies any of the following optional parameters. | |
| id | string | Specifies the unique name to be used to identify the new binding object.If no argument is passed for the id parameter, the Binding.id is autogenerated. | |
| asyncContext | array, boolean, null, number, object, string, or undefined | A user-defined item of any type that is returned in the AsyncResult object without being altered. | |
| callback | object | A function that is invoked when the callback returns, whose only parameter is of type AsyncResult. |
Callback Value
When the function you passed to the callback parameter executes, it receives an AsyncResult object that you can access from the callback function's only parameter.
In the callback function passed to the addFromNamedItemAsync method, you can use the properties of the AsyncResult object to return the following information.
| Property | Use to... |
|---|---|
| AsyncResult.value | Access the Binding object that represents the specified named item. |
| AsyncResult.status | Determine the success or failure of the operation. |
| AsyncResult.error | Access an Error object that provides error information if the operation failed. |
| AsyncResult.asyncContext | Access your user-defined object or value, if you passed one as the asyncContext parameter. |
Remarks
For Excel, the itemName parameter can refer to a named range or a table.
By default, adding a table in Excel assigns the name "Table1" for the first table you add, "Table2" for the second table you add, and so on. To assign a meaningful name for a table in the Excel UI, use the Table Name property on the Table Tools | Design tab of the ribbon.
Note In Excel, when specifying a table as a named item, you must fully qualify the name to include the worksheet name in the name of the table in this format:
"Sheet1!Table1"
For Word, the itemName parameter refers to the Title property of a Rich Text content control. (You can't bind to content controls other than the Rich Text content control.)
By default, a content control has no Title value assigned. To assign a meaningful name in the Word UI, after inserting a Rich Text content control from the Controls group on the Developer tab of the ribbon, use the Properties command in the Controls group to display the Content Control Properties dialog box. Then set the Title property of the content control to the name you want to reference from your code.
Note In Word, if there are multiple Rich Text content controls with the same Title property value (name), and you try to bind to one these content controls with this method (by specifying its name as the itemName parameter), the operation will fail.
Example
The following example adds a binding to the myRange named item in Excel as a "matrix" binding, and assigns the binding's id as myMatrix.
function bindNamedItem() {
Office.context.document.bindings.addFromNamedItemAsync("myRange", "matrix", {id:'myMatrix'}, function (result) {
if (result.status == 'succeeded'){
write('Added new binding with type: ' + result.value.type + ' and id: ' + result.value.id);
}
else
write('Error: ' + result.error.message);
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}The following example adds a binding to the Table1 named item in Excel as a "table" binding, and assigns the binding's id as myTable.
function bindNamedItem() {
Office.context.document.bindings.addFromNamedItemAsync("Table1", "table", {id:'myTable'}, function (result) {
if (result.status == 'succeeded'){
write('Added new binding with type: ' + result.value.type + ' and id: ' + result.value.id);
}
else
write('Error: ' + result.error.message);
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}The following example creates a text binding in Word to a rich text content control named "FirstName", assigns the id "firstName", and then displays that information.
function bindContentControl() {
Office.context.document.bindings.addFromNamedItemAsync('FirstName',
Office.BindingType.Text, {id:'firstName'},
function (result) {
if (result.status === Office.AsyncResultStatus.Succeeded) {
write('Control bound. Binding.id: '
+ result.value.id + ' Binding.type: ' + result.value.type);
} else {
write('Error:', result.error.message);
}
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}Support details
A capital Y in the following matrix indicates that this method is supported in the corresponding Office host application. An empty cell indicates that the Office host application doesn't support this method.
For more information about Office host application and server requirements, see Requirements for running Office Add-ins.
| Office for Windows desktop | Office Online (in browser) | Office for iPad | |
|---|---|---|---|
| Access | Y | ||
| Excel | Y | Y | Y |
| Word | Y | Y | Y |
| Available in requirement sets | MatrixBindings, TableBindings, TextBindings |
| Minimum permission level | ReadDocument |
| Add-in types | Content, task pane |
| Library | Office.js |
| Namespace | Office |
Support history
| Version | Changes |
|---|---|
| 1.1 | Added support for Excel and Word in Office for iPad. |
| 1.1 | In add-ins for Excel, you can create a table binding (passing bindingType as Office.BindingType.Table) for a range of cells that contains tabular data even when that data was not added to the spreadsheet as a table (by using the Insert > Tables > Table or Home > Styles > Format as Table commands). |
| 1.1 | Added support for table binding in content add-ins for Access. |
| 1.0 | Introduced |