WorksheetBase.ProtectDrawingObjects Property

Gets a value that indicates whether shapes are protected.

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 ReadOnly Property ProtectDrawingObjects As Boolean
    Get
public bool ProtectDrawingObjects { get; }

Property Value

Type: System.Boolean
true if shapes are protected; otherwise, false.

Examples

The following code example gets the value of the ProtectDrawingObjects property to determine whether shapes on the worksheet are protected. If shapes are unprotected, then the Protect method is called with the DrawingObjects parameter set to true so that shapes are protected.

This example is for a document-level customization.

    Private Sub ProtectShapes()
        If Not Me.ProtectDrawingObjects Then
            If DialogResult.Yes = MessageBox.Show("Shapes in this worksheet " & _
                "are not protected. Protect shapes the worksheet?", "Example", _
                MessageBoxButtons.YesNo) Then

                ' Protect shapes, but do not change any 
                ' other protection type.
                 Me.Protect(DrawingObjects:=True, _
                    Contents:=Me.ProtectContents, 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 'ProtectShapes

private void ProtectShapes()
{
    if (!this.ProtectDrawingObjects)
    {
        if (DialogResult.Yes == MessageBox.Show("Shapes in this worksheet " +
            "are not protected. Protect shapes the worksheet?", "Example", 
            MessageBoxButtons.YesNo))
        {
            // Protect shapes, but do not change any 
            // other protection type.
            this.Protect(missing, true, this.ProtectContents, 
                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);
        }
    }
}

.NET Framework Security

See Also

Reference

WorksheetBase Class

Microsoft.Office.Tools.Excel Namespace