Workbook.SetPasswordEncryptionOptions method (Excel)
Sets the options for encrypting workbooks by using passwords.
Syntax
expression.SetPasswordEncryptionOptions (PasswordEncryptionProvider, PasswordEncryptionAlgorithm, PasswordEncryptionKeyLength, PasswordEncryptionFileProperties)
expression A variable that represents a Workbook object.
Parameters
Name | Required/Optional | Data type | Description |
---|---|---|---|
PasswordEncryptionProvider | Optional | Variant | A case-sensitive string of the encryption provider. |
PasswordEncryptionAlgorithm | Optional | Variant | A case-sensitive string of the algorithmic short name (that is, "RC4"). |
PasswordEncryptionKeyLength | Optional | Variant | The encryption key length which is a multiple of 8 (40 or greater). |
PasswordEncryptionFileProperties | Optional | Variant | True (default) to encrypt file properties. |
Remarks
The PasswordEncryptionProvider, PasswordEncryptionAlgorithm, and PasswordEncryptionKeyLength arguments are not independent of each other. A selected encryption provider limits the set of algorithms and key length that can be chosen.
For the PasswordEncryptionKeyLength argument, there is no inherent limit on the range of the key length. The range is determined by the Cryptographic Service Provider, which also determines the cryptographic algorithm.
Example
This example sets the password encryption options for the active workbook.
Sub SetPasswordOptions()
ActiveWorkbook.SetPasswordEncryptionOptions _
PasswordEncryptionProvider:="Microsoft RSA SChannel Cryptographic Provider", _
PasswordEncryptionAlgorithm:="RC4", _
PasswordEncryptionKeyLength:=56, _
PasswordEncryptionFileProperties:=True
End Sub
Note
The code and this method don't do anything for the new Excel file formats (xlsx, xlsb, xlsm, etc.) because the workbook will always use AES 128-bit encryption. If a property is set by using this method, it appears set. When the file is reloaded, the properties are reset to the AES setting.
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.