Workbook.SetPasswordEncryptionOptions Метод (2007 System)
Обновлен: Ноябрь 2007
Задает варианты шифрования книги с помощью пароля.
Пространство имен: Microsoft.Office.Tools.Excel
Сборка: Microsoft.Office.Tools.Excel.v9.0 (в Microsoft.Office.Tools.Excel.v9.0.dll)
Синтаксис
'Декларация
Public Sub SetPasswordEncryptionOptions ( _
PasswordEncryptionProvider As Object, _
PasswordEncryptionAlgorithm As Object, _
PasswordEncryptionKeyLength As Object, _
PasswordEncryptionFileProperties As Object _
)
'Применение
Dim instance As Workbook
Dim PasswordEncryptionProvider As Object
Dim PasswordEncryptionAlgorithm As Object
Dim PasswordEncryptionKeyLength As Object
Dim PasswordEncryptionFileProperties As Object
instance.SetPasswordEncryptionOptions(PasswordEncryptionProvider, _
PasswordEncryptionAlgorithm, PasswordEncryptionKeyLength, _
PasswordEncryptionFileProperties)
public void SetPasswordEncryptionOptions(
Object PasswordEncryptionProvider,
Object PasswordEncryptionAlgorithm,
Object PasswordEncryptionKeyLength,
Object PasswordEncryptionFileProperties
)
Параметры
- PasswordEncryptionProvider
Тип: System.Object
Строка поставщика шифрования с учетом регистра.
- PasswordEncryptionAlgorithm
Тип: System.Object
Строка короткого имени алгоритма с учетом регистра (например RC4).
- PasswordEncryptionKeyLength
Тип: System.Object
Длина ключа шифрования, кратная 8 (40 и более символов).
- PasswordEncryptionFileProperties
Тип: System.Object
Значение true (по умолчанию) для шифрования свойств файла.
Заметки
Параметры PasswordEncryptionProvider, PasswordEncryptionAlgorithm и PasswordEncryptionKeyLength характеризуются зависимостью друг от друга. Выбранный поставщик шифрования ограничивает возможность выбора набора алгоритмов и длины ключа.
Для параметра PasswordEncryptionKeyLength не существует специфических ограничений диапазона длины ключа. Диапазон определяется поставщиком служб шифрования, который также определяет алгоритм шифрования.
Необязательные параметры
Сведения о необязательных параметрах см. в разделе Общие сведения о необязательных параметрах в решениях Office.
Примеры
В следующем примере путем проверки значений свойства HasPassword программный код определяет, защищена ли книга паролем. Если рабочая книга не защищена паролем, в данном примере свойству Password присваивается введенный пользователем пароль, после чего вызывается метод SetPasswordEncryptionOptions, с помощью которого задается алгоритм шифрования, длина ключа, имя поставщика шифрования и разрешается шифрование свойств файла. Затем в примере отображаются значения свойств PasswordEncryptionProvider, PasswordEncryptionAlgorithm, PasswordEncryptionKeyLength и PasswordEncryptionFileProperties листа Sheet1. В этом примере предполагается, что метод GetPasswordFromUserInput определен в другом месте.
В этом примере демонстрируется настройка уровня документа.
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", missing].Value2 =
"Password Encryption Provider:";
Globals.Sheet1.Range["A2", missing].Value2 =
"Password Encryption Algorithm:";
Globals.Sheet1.Range["A3", missing].Value2 =
"Password Encryption Key Length:";
Globals.Sheet1.Range["A4", missing].Value2 =
"Password Encryption File Properties:";
Globals.Sheet1.Range["A1", "A4"].Columns.AutoFit();
Globals.Sheet1.Range["B1", missing].Value2 =
this.PasswordEncryptionProvider;
Globals.Sheet1.Range["B2", missing].Value2 =
this.PasswordEncryptionAlgorithm;
Globals.Sheet1.Range["B3", missing].Value2 =
this.PasswordEncryptionKeyLength;
Globals.Sheet1.Range["B4", missing].Value2 =
this.PasswordEncryptionFileProperties;
Globals.Sheet1.Range["B1", "B4"].Columns.AutoFit();
}
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.