Freigeben über


WorkbookBase.SetPasswordEncryptionOptions-Methode

Legt die Optionen zum Verschlüsseln der Arbeitsmappe mit einem Kennwort fest.

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 Sub SetPasswordEncryptionOptions ( _
    passwordEncryptionProvider As Object, _
    passwordEncryptionAlgorithm As Object, _
    passwordEncryptionKeyLength As Object, _
    passwordEncryptionFileProperties As Object _
)
public void SetPasswordEncryptionOptions(
    Object passwordEncryptionProvider,
    Object passwordEncryptionAlgorithm,
    Object passwordEncryptionKeyLength,
    Object passwordEncryptionFileProperties
)

Parameter

  • passwordEncryptionProvider
    Typ: System.Object
    Eine Zeichenfolge des Verschlüsselungsanbieters, bei der die Groß-/Kleinschreibung beachtet wird.
  • passwordEncryptionAlgorithm
    Typ: System.Object
    Eine Zeichenfolge des algorithmischen Kurznamens (d. h. "RC4").
  • passwordEncryptionKeyLength
    Typ: System.Object
    Die Länge des Verschlüsselungsschlüssel, die ein Vielfaches von 8 ist (größer als oder gleich 40).
  • passwordEncryptionFileProperties
    Typ: System.Object
    true (Standard), wenn die Dateieigenschaften verschlüsselt werden sollen.

Hinweise

Die Parameter PasswordEncryptionProvider, PasswordEncryptionAlgorithm und PasswordEncryptionKeyLength sind nicht voneinander unabhängig. Durch die Auswahl eines Verschlüsselungsanbieters werden die Auswahlmöglichkeiten für den Algorithmus und die Schlüssellänge eingeschränkt.

Der PasswordEncryptionKeyLength-Parameter besitzt keine inhärente Beschränkung in Bezug auf den Wertebereich für die Schlüssellänge. Der Bereich wird durch den Kryptografiedienstanbieter bestimmt, der auch den kryptografischen Algorithmus festlegt.

Optionale Parameter

Informationen zu optionalen Parametern finden Sie unter Optionale Parameter in Office-Lösungen.

Beispiele

Im folgenden Codebeispiel wird der Wert der HasPassword-Eigenschaft überprüft, um zu bestimmen, ob die Arbeitsmappe durch ein Kennwort geschützt ist. Wenn die Arbeitsmappe nicht durch ein Kennwort geschützt ist, wird für die Password-Eigenschaft ein durch eine Benutzereingabe erfasstes Kennwort festgelegt, und dann wird die SetPasswordEncryptionOptions-Methode aufgerufen, um den Verschlüsselungsalgorithmus, die Schlüssellänge und den Namen des Verschlüsselungsanbieters festzulegen und die Verschlüsselung von Dateieigenschaften zu aktivieren. Anschließend werden im Sheet1-Arbeitsblatt die Werte der Eigenschaften PasswordEncryptionProvider, PasswordEncryptionAlgorithm, PasswordEncryptionKeyLength und PasswordEncryptionFileProperties angezeigt. In diesem Beispiel wird davon ausgegangen, dass die GetPasswordFromUserInput-Methode an einer anderen Stelle definiert ist.

Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.

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();
}

.NET Framework-Sicherheit

Siehe auch

Referenz

WorkbookBase Klasse

Microsoft.Office.Tools.Excel-Namespace