WorksheetBase.Protect, méthode
Protège une feuille de calcul afin qu'elle ne puisse pas être modifiée.
Espace de noms : Microsoft.Office.Tools.Excel
Assembly : Microsoft.Office.Tools.Excel.v4.0.Utilities (dans Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Syntaxe
'Déclaration
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
)
Paramètres
- password
Type : System.Object
Mot de passe respectant la casse pour la feuille de calcul.Si cet argument est omis, vous pouvez ôter la protection de la feuille de calcul sans utiliser un mot de passe.Sinon, vous devez spécifier le mot de passe pour supprimer la protection.Il est impossible de supprimer la protection de la feuille de calcul si vous oubliez le mot de passe.Il est conseillé de conserver une liste de vos mots de passe et les noms de documents correspondants en lieu sûr.
- drawingObjects
Type : System.Object
true pour protéger les formes.La valeur par défaut est false.
- contents
Type : System.Object
true pour protéger le contenu dans les cellules verrouillées.La valeur par défaut est true.
- scenarios
Type : System.Object
true pour protéger les scénarios.La valeur par défaut est true.
- userInterfaceOnly
Type : System.Object
true pour protéger l'interface utilisateur, mais pas les macros.Si cet argument est omis, la protection s'applique à la fois aux macros et à l'interface utilisateur.
- allowFormattingCells
Type : System.Object
true permet à l'utilisateur de mettre en forme n'importe quelle cellule sur une feuille de calcul protégée.La valeur par défaut est false.
- allowFormattingColumns
Type : System.Object
true permet à l'utilisateur de mettre en forme n'importe quelle colonne sur une feuille de calcul protégée.La valeur par défaut est false.
- allowFormattingRows
Type : System.Object
true permet à l'utilisateur de mettre en forme n'importe quelle ligne sur une feuille de calcul protégée.La valeur par défaut est false.
- allowInsertingColumns
Type : System.Object
true permet à l'utilisateur d'insérer des colonnes sur la feuille de calcul protégée.La valeur par défaut est false.
- allowInsertingRows
Type : System.Object
true permet à l'utilisateur d'insérer des lignes sur la feuille de calcul protégée.La valeur par défaut est false.
- allowInsertingHyperlinks
Type : System.Object
true permet à l'utilisateur d'insérer des liens hypertexte sur la feuille de calcul.La valeur par défaut est false.
- allowDeletingColumns
Type : System.Object
true permet à l'utilisateur de supprimer des colonnes sur la feuille de calcul protégée, où chaque cellule de la colonne à supprimer est déverrouillée.La valeur par défaut est false.
- allowDeletingRows
Type : System.Object
true permet à l'utilisateur de supprimer des lignes sur la feuille de calcul protégée, où chaque ligne de la colonne à supprimer est déverrouillée.La valeur par défaut est false.
- allowSorting
Type : System.Object
true permet à l'utilisateur d'effectuer un tri sur la feuille de calcul protégée.Chaque cellule dans la plage de tri doit être déverrouillée ou la protection doit avoir été ôtée.La valeur par défaut est false.
- allowFiltering
Type : System.Object
true permet à l'utilisateur de définir des filtres sur la feuille de calcul protégée.Les utilisateurs peuvent modifier les critères de filtre mais ne peuvent pas activer ou désactiver un filtre automatique.Les utilisateurs peuvent définir des filtres sur un filtre automatique existant.La valeur par défaut est false.
- allowUsingPivotTables
Type : System.Object
true permet à l'utilisateur d'utiliser des rapports de tableau croisé dynamique sur la feuille de calcul protégée.La valeur par défaut est false.
Notes
Si vous appliquez cette méthode avec l'argument UserInterfaceOnly ayant la valeur true, puis si vous enregistrez le classeur, la feuille de calcul entière (pas seulement l'interface) sera pleinement protégée lorsque vous rouvrirez le classeur. Pour réactiver la protection d'interface utilisateur après avoir ouvert le classeur, vous devez appliquer cette méthode une nouvelle fois avec UserInterfaceOnly ayant la valeur true.
Il est possible d'apporter des modifications à une feuille de calcul protégée si le mot de passe est fourni. Une autre méthode consiste à supprimer la protection de la feuille de calcul, d'apporter les modifications nécessaires, puis de réactiver la protection de la feuille de calcul.
Notes
'Non protégé' signifie que la cellule peut être verrouillée (dialogue Format de cellules) mais qu'elle est incluse dans une plage définie dans la boîte de dialogue Permettez aux utilisateurs de modifier les plages, et que l'utilisateur a ôté la protection de la plage avec un mot de passe ou qu'elle a été validée via des autorisations NT.
Paramètres optionnels
Pour plus d'informations sur les paramètres optionnels, consultez Paramètres optionnels dans les solutions Office.
Exemples
L'exemple de code suivant obtient que la valeur de la propriété ProtectContents détermine si le contenu de la feuille de calcul est protégé. Si le contenu n'est pas protégé, la méthode Protect est appelée à l'aide du paramètre Contents ayant la valeur true afin que le contenu soit protégé.
Cet exemple illustre une personnalisation au niveau du document.
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(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);
}
}
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.