Excel.SettingCollection class
Represents a collection of key-value pair setting objects that are part of the workbook. The scope is limited to per file and add-in (task-pane or content) combination.
- Extends
context | The request context associated with the object. This connects the add-in's process to the Office host application's process. |
items | Gets the loaded child items in this collection. |
add(key, value) | Sets or adds the specified setting to the workbook. |
get |
Gets the number of settings in the collection. |
get |
Gets a setting entry via the key. |
get |
Gets a setting entry via the key. If the setting 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 |
on |
Occurs when the settings in the document are changed. |
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
Gets the loaded child items in this collection.
readonly items: Excel.Setting[];
Property Value
Sets or adds the specified setting to the workbook.
add(key: string, value: string | number | boolean | Date | any[] | any): Excel.Setting;
Parameters
- key
-
string
The key of the new setting.
- value
-
string | number | boolean | Date | any[] | any
The value for the new setting.
Returns
Remarks
Examples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/events-workbook-and-worksheet-collection.yaml
await Excel.run(async (context) => {
const settings = context.workbook.settings;
settings.onSettingsChanged.add(onChangedSetting);
await context.sync();
console.log("Settings changed handler registered.");
});
Gets the number of settings in the collection.
getCount(): OfficeExtension.ClientResult<number>;
Returns
OfficeExtension.ClientResult<number>
Remarks
Gets a setting entry via the key.
getItem(key: string): Excel.Setting;
Parameters
- key
-
string
Key of the setting.
Returns
Remarks
Gets a setting entry via the key. If the setting 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(key: string): Excel.Setting;
Parameters
- key
-
string
The key of the setting.
Returns
Remarks
Examples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/50-workbook/create-get-change-delete-settings.yaml
await Excel.run(async (context) => {
const settings = context.workbook.settings;
let needsReview = settings.getItem("NeedsReview");
needsReview.delete();
needsReview = settings.getItemOrNullObject("NeedsReview");
await context.sync();
if (needsReview.isNullObject) {
console.log("The setting has been deleted");
} else {
console.log("The setting was not deleted");
}
await context.sync();
});
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.SettingCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.SettingCollection;
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.SettingCollection;
Parameters
- propertyNames
-
string | string[]
A comma-delimited string or an array of strings that specify the properties 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(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.SettingCollection;
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.SettingCollection
object is an API object, the toJSON
method returns a plain JavaScript object (typed as Excel.Interfaces.SettingCollectionData
) that contains an "items" array with shallow copies of any loaded properties from the collection's items.
toJSON(): Excel.Interfaces.SettingCollectionData;
Returns
Occurs when the settings in the document are changed.
readonly onSettingsChanged: OfficeExtension.EventHandlers<Excel.SettingsChangedEventArgs>;
Event Type
Remarks
Examples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/events-workbook-and-worksheet-collection.yaml
await Excel.run(async (context) => {
const settings = context.workbook.settings;
settings.onSettingsChanged.add(onChangedSetting);
await context.sync();
console.log("Settings changed handler registered.");
});
Office Add-ins feedback
Office Add-ins is an open source project. Select a link to provide feedback: