WorkbookBase.PasswordEncryptionKeyLength Property
Gets the key length of the algorithm that Microsoft Office Excel uses when encrypting passwords for the workbook.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel.v4.0.Utilities (in Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Syntax
'Declaration
Public ReadOnly Property PasswordEncryptionKeyLength As Integer
public int PasswordEncryptionKeyLength { get; }
Property Value
Type: System.Int32
The key length of the algorithm that Excel uses when encrypting passwords for the workbook.
Remarks
Use the SetPasswordEncryptionOptions method to specify whether Excel encrypts file properties for the specified password-protected workbook.
Examples
The following code example checks the value of the HasPassword property to determine whether the workbook is password protected. If the workbook is not password protected, then the example sets the Password property to a password obtained from user input, and then calls the SetPasswordEncryptionOptions method to set the encryption algorithm, set the key length, set the name of the encryption provider, and enable file property encryption. The example then displays the values of the PasswordEncryptionProvider, PasswordEncryptionAlgorithm, PasswordEncryptionKeyLength, and PasswordEncryptionFileProperties properties in worksheet Sheet1. This example assumes that the method GetPasswordFromUserInput is defined elsewhere.
This example is for a document-level customization.
Private Sub WorkbookPasswordOptions()
If Not Me.HasPassword Then
Me.Password = GetPasswordFromUserInput()
Me.SetPasswordEncryptionOptions( _
"Microsoft RSA SChannel Cryptographic Provider", _
"RC4", 128, True)
End If
' Display the password properties in Sheet1.
Globals.Sheet1.Range("A1").Value2 = _
"Password Encryption Provider:"
Globals.Sheet1.Range("A2").Value2 = _
"Password Encryption Algorithm:"
Globals.Sheet1.Range("A3").Value2 = _
"Password Encryption Key Length:"
Globals.Sheet1.Range("A4").Value2 = _
"Password Encryption File Properties:"
Globals.Sheet1.Range("A1", "A4").Columns.AutoFit()
Globals.Sheet1.Range("B1").Value2 = _
Me.PasswordEncryptionProvider
Globals.Sheet1.Range("B2").Value2 = _
Me.PasswordEncryptionAlgorithm
Globals.Sheet1.Range("B3").Value2 = _
Me.PasswordEncryptionKeyLength
Globals.Sheet1.Range("B4").Value2 = _
Me.PasswordEncryptionFileProperties
Globals.Sheet1.Range("B1", "B4").Columns.AutoFit()
End Sub
private void WorkbookPasswordOptions()
{
if (!this.HasPassword)
{
this.Password = GetPasswordFromUserInput();
this.SetPasswordEncryptionOptions(
"Microsoft RSA SChannel Cryptographic Provider",
"RC4", 128, true);
}
// Display the password properties in Sheet1.
Globals.Sheet1.Range["A1"].Value2 =
"Password Encryption Provider:";
Globals.Sheet1.Range["A2"].Value2 =
"Password Encryption Algorithm:";
Globals.Sheet1.Range["A3"].Value2 =
"Password Encryption Key Length:";
Globals.Sheet1.Range["A4"].Value2 =
"Password Encryption File Properties:";
Globals.Sheet1.Range["A1", "A4"].Columns.AutoFit();
Globals.Sheet1.Range["B1"].Value2 =
this.PasswordEncryptionProvider;
Globals.Sheet1.Range["B2"].Value2 =
this.PasswordEncryptionAlgorithm;
Globals.Sheet1.Range["B3"].Value2 =
this.PasswordEncryptionKeyLength;
Globals.Sheet1.Range["B4"].Value2 =
this.PasswordEncryptionFileProperties;
Globals.Sheet1.Range["B1", "B4"].Columns.AutoFit();
}
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.