Excel.BindingCollection class
Represents the collection of all the binding objects that are part of the workbook.
- Extends
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. |
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 the number of bindings in the collection. |
get |
Gets a binding object by ID. |
get |
Gets a binding object based on its position in the items array. |
get |
Gets a binding object by ID. If the binding object does not exist, then this method returns an object with its |
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 |
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
Returns the number of bindings in the collection.
readonly count: number;
Property Value
number
Remarks
Gets the loaded child items in this collection.
readonly items: Excel.Binding[];
Property Value
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 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
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
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
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
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
Gets the number of bindings in the collection.
getCount(): OfficeExtension.ClientResult<number>;
Returns
OfficeExtension.ClientResult<number>
Remarks
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!");
});
}
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);
});
Gets a binding object by ID. If the binding object does not exist, then this method returns an object with its isNullObject
property set to true
. For further information, see *OrNullObject methods and properties.
getItemOrNullObject(id: string): Excel.Binding;
Parameters
- id
-
string
ID of the binding object to be retrieved.
Returns
Remarks
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
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);
}
});
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
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's 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 feedback
Office Add-ins is an open source project. Select a link to provide feedback: