Condividi tramite


Metodo WorkbookBase.SetPasswordEncryptionOptions

Imposta le opzioni di crittografia della cartella di lavoro che utilizza una password.

Spazio dei nomi:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel.v4.0.Utilities (in Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)

Sintassi

'Dichiarazione
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
)

Parametri

  • passwordEncryptionProvider
    Tipo: System.Object
    Stringa relativa al provider della crittografia in cui viene rilevata la distinzione tra maiuscole e minuscole.
  • passwordEncryptionAlgorithm
    Tipo: System.Object
    Stringa in cui viene rilevata la distinzione tra maiuscole e minuscole relativa al nome breve algoritmico (ad esempio "RC4").
  • passwordEncryptionKeyLength
    Tipo: System.Object
    Lunghezza della chiave di crittografia, ovvero un valore multiplo di 8 (40 o superiore).
  • passwordEncryptionFileProperties
    Tipo: System.Object
    true (predefinito) per crittografare le proprietà di file.

Note

I parametri PasswordEncryptionProvider, PasswordEncryptionAlgorithm e PasswordEncryptionKeyLength non sono indipendenti tra loro. Un provider di crittografia selezionato limita il set dei valori selezionabili relativi agli algoritmi e alla lunghezza della chiave.

Per il parametro PasswordEncryptionKeyLength non esiste un limite intrinseco relativo all'intervallo della lunghezza della chiave. L'intervallo è determinato dal provider del servizio di crittografia (CSP, Cryptographic Service Provider) il quale determina anche l'algoritmo crittografico.

Parametri facoltativi

Per informazioni sui parametri facoltativi, vedere Parametri facoltativi nelle soluzioni Office.

Esempi

Nell'esempio di codice riportato di seguito viene controllato il valore della proprietà HasPassword per determinare se la cartella di lavoro è protetta da password. Se la cartella di lavoro non è protetta da password, la proprietà Password viene impostata su una password ottenuta dall'input dell'utente. Viene quindi chiamato il metodo SetPasswordEncryptionOptions per impostare l'algoritmo di crittografia, la lunghezza della chiave e il nome del provider della crittografia, nonché per abilitare la crittografia delle proprietà del file. Vengono infine visualizzati i valori delle proprietà PasswordEncryptionProvider, PasswordEncryptionAlgorithm, PasswordEncryptionKeyLength e PasswordEncryptionFileProperties nel foglio di lavoro Sheet1. Nell'esempio si presuppone che il metodo GetPasswordFromUserInput sia definito altrove.

Questo esempio è valido per una personalizzazione a livello di documento.

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

Sicurezza di .NET Framework

Vedere anche

Riferimenti

WorkbookBase Classe

Spazio dei nomi Microsoft.Office.Tools.Excel