Excel.WorkbookProtection class
Represents the protection of a workbook object.
- 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. |
protected | Specifies if the workbook is protected. |
Methods
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 |
protect(password) | Protects the workbook. Fails if the workbook has been protected. |
toJSON() | Overrides the JavaScript |
unprotect(password) | Unprotects the workbook. |
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
protected
Specifies if the workbook is protected.
readonly protected: boolean;
Property Value
boolean
Remarks
Method Details
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.WorkbookProtectionLoadOptions): Excel.WorkbookProtection;
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.WorkbookProtection;
Parameters
- propertyNames
-
string | string[]
A comma-delimited string or an array of strings that specify the properties to load.
Returns
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?: {
select?: string;
expand?: string;
}): Excel.WorkbookProtection;
Parameters
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
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
protect(password)
Protects the workbook. Fails if the workbook has been protected.
protect(password?: string): void;
Parameters
- password
-
string
Workbook protection password.
Returns
void
Remarks
Examples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/50-workbook/data-protection.yaml
let password = await passwordHandler();
passwordHelper(password);
await Excel.run(async (context) => {
let workbook = context.workbook;
workbook.load("protection/protected");
await context.sync();
if (!workbook.protection.protected) {
workbook.protection.protect(password);
}
});
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.WorkbookProtection
object is an API object, the toJSON
method returns a plain JavaScript object (typed as Excel.Interfaces.WorkbookProtectionData
) that contains shallow copies of any loaded child properties from the original object.
toJSON(): Excel.Interfaces.WorkbookProtectionData;
Returns
unprotect(password)
Unprotects the workbook.
unprotect(password?: string): void;
Parameters
- password
-
string
Workbook protection password.
Returns
void
Remarks
Examples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/50-workbook/data-protection.yaml
let password = await passwordHandler();
passwordHelper(password);
await Excel.run(async (context) => {
let workbook = context.workbook;
workbook.protection.unprotect(password);
});
Office Add-ins