Proprietà WorkbookBase.HasPassword
Ottiene un valore che indica se per la cartella di lavoro è disponibile una password di protezione.
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 ReadOnly Property HasPassword As Boolean
Get
public bool HasPassword { get; }
Valore proprietà
Tipo: System.Boolean
true se per la cartella di lavoro è disponibile una password di protezione; in caso contrario, false.
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 l'esistenza di un metodo denominato GetPasswordFromUserInput che ottiene una password complessa dall'input dell'utente.
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
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.