Metodo WorksheetBase.Protect

Protegge un foglio di lavoro affinché non possa essere modificato.

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 Protect ( _
    password As Object, _
    drawingObjects As Object, _
    contents As Object, _
    scenarios As Object, _
    userInterfaceOnly As Object, _
    allowFormattingCells As Object, _
    allowFormattingColumns As Object, _
    allowFormattingRows As Object, _
    allowInsertingColumns As Object, _
    allowInsertingRows As Object, _
    allowInsertingHyperlinks As Object, _
    allowDeletingColumns As Object, _
    allowDeletingRows As Object, _
    allowSorting As Object, _
    allowFiltering As Object, _
    allowUsingPivotTables As Object _
)
public void Protect(
    Object password,
    Object drawingObjects,
    Object contents,
    Object scenarios,
    Object userInterfaceOnly,
    Object allowFormattingCells,
    Object allowFormattingColumns,
    Object allowFormattingRows,
    Object allowInsertingColumns,
    Object allowInsertingRows,
    Object allowInsertingHyperlinks,
    Object allowDeletingColumns,
    Object allowDeletingRows,
    Object allowSorting,
    Object allowFiltering,
    Object allowUsingPivotTables
)

Parametri

  • password
    Tipo: System.Object
    Password che rileva la distinzione tra maiuscole e minuscole per il foglio di lavoro.Se si omette questo argomento, sarà possibile disattivare la protezione del foglio di lavoro senza utilizzare una password.In caso contrario, è necessario specificare la password per disattivare la protezione del foglio di lavoro.Se non si ricorda la password, non sarà possibile disattivare la protezione del foglio di lavoro.È consigliabile conservare in un posto sicuro l'elenco delle password con i nomi dei documenti corrispondenti.
  • drawingObjects
    Tipo: System.Object
    true per proteggere le forme.Il valore predefinito è false.
  • contents
    Tipo: System.Object
    true per proteggere il contenuto delle celle bloccate.Il valore predefinito è true.
  • scenarios
    Tipo: System.Object
    true per proteggere gli scenari.Il valore predefinito è true.
  • userInterfaceOnly
    Tipo: System.Object
    true per proteggere l'interfaccia utente, ma non le macro.Se si omette questo argomento, la protezione verrà applicata sia alle macro che all'interfaccia utente.
  • allowFormattingCells
    Tipo: System.Object
    true consente all'utente di formattare qualsiasi cella di un foglio di lavoro protetto.Il valore predefinito è false.
  • allowFormattingColumns
    Tipo: System.Object
    true consente all'utente di formattare qualsiasi colonna di un foglio di lavoro protetto.Il valore predefinito è false.
  • allowFormattingRows
    Tipo: System.Object
    true consente all'utente di formattare qualsiasi riga di un foglio di lavoro protetto.Il valore predefinito è false.
  • allowInsertingColumns
    Tipo: System.Object
    true consente all'utente di inserire colonne nel foglio di lavoro protetto.Il valore predefinito è false.
  • allowInsertingRows
    Tipo: System.Object
    true consente all'utente di inserire righe nel foglio di lavoro protetto.Il valore predefinito è false.
  • allowInsertingHyperlinks
    Tipo: System.Object
    true consente all'utente di inserire collegamenti ipertestuali nel foglio di lavoro protetto.Il valore predefinito è false.
  • allowDeletingColumns
    Tipo: System.Object
    true consente all'utente di eliminare colonne nel foglio di lavoro protetto, in cui ogni cella della colonna da eliminare è sbloccata.Il valore predefinito è false.
  • allowDeletingRows
    Tipo: System.Object
    true consente all'utente di eliminare righe nel foglio di lavoro protetto, in cui ogni cella della riga da eliminare è sbloccata.Il valore predefinito è false.
  • allowSorting
    Tipo: System.Object
    true consente all'utente di ordinare i valori nel foglio di lavoro protetto.Ciascuna cella dell'intervallo di ordinamento deve essere sbloccata o non protetta.Il valore predefinito è false.
  • allowFiltering
    Tipo: System.Object
    true consente all'utente di impostare filtri nel foglio di lavoro protetto.Gli utenti possono modificare i criteri dei filtri, ma non possono abilitare o disabilitare un filtro automatico.Possono impostare filtri su un filtro automatico esistente.Il valore predefinito è false.
  • allowUsingPivotTables
    Tipo: System.Object
    true consente all'utente di utilizzare rapporti di tabella pivot nel foglio di lavoro protetto.Il valore predefinito è false.

Note

Se si applica questo metodo con l'argomento UserInterfaceOnly impostato su true e successivamente si salva la cartella di lavoro, alla riapertura l'intera cartella di lavoro (non solo l'interfaccia) risulterà completamente protetta. Per abilitare nuovamente la protezione dell'interfaccia utente dopo l'apertura della cartella di lavoro, sarà necessario riapplicare questo metodo con il parametro UserInterfaceOnly impostato su true.

Per apportare modifiche a un foglio di lavoro protetto, è necessario disporre della password. È anche possibile disattivare la protezione del foglio di lavoro, apportare le modifiche necessarie e proteggere nuovamente il foglio.

Nota

Il termine "Non protetto" indica che la cella può essere bloccata (finestra di dialogo Formato celle), ma è inclusa in un intervallo definito nella finestra di dialogo Consenti agli utenti la modifica degli intervalli e l'utente ha disattivato la protezione dell'intervallo con una password oppure è stato convalidato tramite le autorizzazioni di NT.

Parametri facoltativi

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

Esempi

Nell'esempio di codice riportato di seguito viene ottenuto il valore della proprietà ProtectContents per determinare se il contenuto del foglio di lavoro è protetto. Se il contenuto non è protetto, viene chiamato il metodo Protect con il parametro Contents impostato su true in modo da attivare la protezione del contenuto.

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

Private Sub ProtectCellContents()
    If Not Me.ProtectContents Then
        If DialogResult.Yes = MessageBox.Show("Cell contents in this " & _
            "worksheet are not protected. Protect cell contents?", "Example", _
            MessageBoxButtons.YesNo) Then

            ' Protect cell contents, but do not change any 
            ' other protection type.
            Me.Protect(DrawingObjects:=Me.ProtectDrawingObjects, _
                Contents:=True, Scenarios:=Me.ProtectScenarios, _
                UserInterfaceOnly:=Me.ProtectionMode, _
                AllowFormattingCells:=Me.Protection.AllowFormattingCells, _
                AllowFormattingColumns:=Me.Protection.AllowFormattingColumns, _
                AllowFormattingRows:=Me.Protection.AllowFormattingRows, _
                AllowInsertingColumns:=Me.Protection.AllowInsertingColumns, _
                AllowInsertingRows:=Me.Protection.AllowInsertingRows, _
                AllowInsertingHyperlinks:=Me.Protection.AllowInsertingHyperlinks, _
                AllowDeletingColumns:=Me.Protection.AllowDeletingColumns, _
                AllowDeletingRows:=Me.Protection.AllowDeletingRows, _
                AllowSorting:=Me.Protection.AllowSorting, _
                AllowFiltering:=Me.Protection.AllowFiltering, _
                AllowUsingPivotTables:=Me.Protection.AllowUsingPivotTables)
        End If
    End If
End Sub
private void ProtectCellContents()
{
    if (!this.ProtectContents)
    {
        if (DialogResult.Yes == MessageBox.Show("Cell contents in this " +
            "worksheet are not protected. Protect cell contents?", "Example", 
            MessageBoxButtons.YesNo))
        {
            // Protect cell contents, but do not change any 
            // other protection type.
            this.Protect(missing, this.ProtectDrawingObjects,
                true, this.ProtectScenarios, this.ProtectionMode, 
                this.Protection.AllowFormattingCells,
                this.Protection.AllowFormattingColumns,
                this.Protection.AllowFormattingRows,
                this.Protection.AllowInsertingColumns,
                this.Protection.AllowInsertingRows,
                this.Protection.AllowInsertingHyperlinks,
                this.Protection.AllowDeletingColumns,
                this.Protection.AllowDeletingRows,
                this.Protection.AllowSorting,
                this.Protection.AllowFiltering,
                this.Protection.AllowUsingPivotTables);
        }
    }
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

WorksheetBase Classe

Spazio dei nomi Microsoft.Office.Tools.Excel