Excel.BindingCollection class
Represents the collection of all the binding objects that are part of the workbook.
- Extends
Remarks
Properties
context | The request context associated with the object. This connects the add-in's process to the Office host application's process. |
count | Returns the number of bindings in the collection. |
items | Gets the loaded child items in this collection. |
Methods
add(range, binding |
Add a new binding to a particular Range. |
add(range, binding |
Add a new binding to a particular Range. |
add |
Add a new binding based on a named item in the workbook. If the named item references to multiple areas, the |
add |
Add a new binding based on a named item in the workbook. If the named item references to multiple areas, the |
add |
Add a new binding based on the current selection. If the selection has multiple areas, the |
add |
Add a new binding based on the current selection. If the selection has multiple areas, the |
get |
Gets a binding object by ID. |
get |
Gets a binding object based on its position in the items array. |
load(options) | Queues up a command to load the specified properties of the object. You must call |
load(property |
Queues up a command to load the specified properties of the object. You must call |
load(property |
Queues up a command to load the specified properties of the object. You must call |
toJSON() | Overrides the JavaScript |
Property Details
context
The request context associated with the object. This connects the add-in's process to the Office host application's process.
context: RequestContext;
Property Value
count
Returns the number of bindings in the collection.
readonly count: number;
Property Value
number
Remarks
items
Gets the loaded child items in this collection.
readonly items: Excel.Binding[];
Property Value
Method Details
add(range, bindingType, id)
Add a new binding to a particular Range.
add(range: Range | string, bindingType: Excel.BindingType, id: string): Excel.Binding;
Parameters
- range
-
Excel.Range | string
Range to bind the binding to. May be a Range
object or a string. If string, must contain the full address, including the sheet name
- bindingType
- Excel.BindingType
Type of binding. See Excel.BindingType
.
- id
-
string
Name of the binding.
Returns
Remarks
add(range, bindingTypeString, id)
Add a new binding to a particular Range.
add(range: Range | string, bindingTypeString: "Range" | "Table" | "Text", id: string): Excel.Binding;
Parameters
- range
-
Excel.Range | string
Range to bind the binding to. May be a Range
object or a string. If string, must contain the full address, including the sheet name
- bindingTypeString
-
"Range" | "Table" | "Text"
Type of binding. See Excel.BindingType
.
- id
-
string
Name of the binding.
Returns
Remarks
addFromNamedItem(name, bindingType, id)
Add a new binding based on a named item in the workbook. If the named item references to multiple areas, the InvalidReference
error will be returned.
addFromNamedItem(name: string, bindingType: Excel.BindingType, id: string): Excel.Binding;
Parameters
- name
-
string
Name from which to create binding.
- bindingType
- Excel.BindingType
Type of binding. See Excel.BindingType
.
- id
-
string
Name of the binding.
Returns
Remarks
addFromNamedItem(name, bindingTypeString, id)
Add a new binding based on a named item in the workbook. If the named item references to multiple areas, the InvalidReference
error will be returned.
addFromNamedItem(name: string, bindingTypeString: "Range" | "Table" | "Text", id: string): Excel.Binding;
Parameters
- name
-
string
Name from which to create binding.
- bindingTypeString
-
"Range" | "Table" | "Text"
Type of binding. See Excel.BindingType
.
- id
-
string
Name of the binding.
Returns
Remarks
addFromSelection(bindingType, id)
Add a new binding based on the current selection. If the selection has multiple areas, the InvalidReference
error will be returned.
addFromSelection(bindingType: Excel.BindingType, id: string): Excel.Binding;
Parameters
- bindingType
- Excel.BindingType
Type of binding. See Excel.BindingType
.
- id
-
string
Name of the binding.
Returns
Remarks
addFromSelection(bindingTypeString, id)
Add a new binding based on the current selection. If the selection has multiple areas, the InvalidReference
error will be returned.
addFromSelection(bindingTypeString: "Range" | "Table" | "Text", id: string): Excel.Binding;
Parameters
- bindingTypeString
-
"Range" | "Table" | "Text"
Type of binding. See Excel.BindingType
.
- id
-
string
Name of the binding.
Returns
Remarks
getItem(id)
Gets a binding object by ID.
getItem(id: string): Excel.Binding;
Parameters
- id
-
string
ID of the binding object to be retrieved.
Returns
Remarks
Examples
async function onBindingDataChanged(eventArgs) {
await Excel.run(async (context) => {
// Highlight the table related to the binding in orange to indicate data has been changed.
context.workbook.bindings.getItem(eventArgs.binding.id).getTable().getDataBodyRange().format.fill.color = "Orange";
await context.sync();
console.log("The value in this table got changed!");
});
}
getItemAt(index)
Gets a binding object based on its position in the items array.
getItemAt(index: number): Excel.Binding;
Parameters
- index
-
number
Index value of the object to be retrieved. Zero-indexed.
Returns
Remarks
Examples
await Excel.run(async (context) => {
const lastPosition = context.workbook.bindings.count - 1;
const binding = context.workbook.bindings.getItemAt(lastPosition);
binding.load('type')
await context.sync();
console.log(binding.type);
});
load(options)
Queues up a command to load the specified properties of the object. You must call context.sync()
before reading the properties.
load(options?: Excel.Interfaces.BindingCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.BindingCollection;
Parameters
Provides options for which properties of the object to load.
Returns
load(propertyNames)
Queues up a command to load the specified properties of the object. You must call context.sync()
before reading the properties.
load(propertyNames?: string | string[]): Excel.BindingCollection;
Parameters
- propertyNames
-
string | string[]
A comma-delimited string or an array of strings that specify the properties to load.
Returns
Examples
await Excel.run(async (context) => {
const bindings = context.workbook.bindings;
bindings.load('items');
await context.sync();
for (let i = 0; i < bindings.items.length; i++) {
console.log(bindings.items[i].id);
}
});
load(propertyNamesAndPaths)
Queues up a command to load the specified properties of the object. You must call context.sync()
before reading the properties.
load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.BindingCollection;
Parameters
- propertyNamesAndPaths
- OfficeExtension.LoadOption
propertyNamesAndPaths.select
is a comma-delimited string that specifies the properties to load, and propertyNamesAndPaths.expand
is a comma-delimited string that specifies the navigation properties to load.
Returns
toJSON()
Overrides the JavaScript toJSON()
method in order to provide more useful output when an API object is passed to JSON.stringify()
. (JSON.stringify
, in turn, calls the toJSON
method of the object that is passed to it.) Whereas the original Excel.BindingCollection
object is an API object, the toJSON
method returns a plain JavaScript object (typed as Excel.Interfaces.BindingCollectionData
) that contains an "items" array with shallow copies of any loaded properties from the collection's items.
toJSON(): Excel.Interfaces.BindingCollectionData;
Returns
Office Add-ins