Skip to main content
All docs
V25.1
  • Row

    ProtectedRangeCollection.Add(String, IList<CellRange>) Method

    Creates a protected range and adds it to a worksheet collection of protected ranges.

    Namespace: DevExpress.Spreadsheet

    Assembly: DevExpress.Spreadsheet.v25.1.Core.dll

    NuGet Package: DevExpress.Spreadsheet.Core

    Declaration

    ProtectedRange Add(
        string name,
        IList<CellRange> ranges
    )

    Parameters

    Name Type Description
    name String

    A string that is the name of the newly created range.

    ranges IList<CellRange>

    A list of worksheet CellRange objects to include in a protected range.

    Returns

    Type Description
    ProtectedRange

    A ProtectedRange object that combines ranges with identical protection options.

    Remarks

    The entire worksheet is protected with a “password” password. End-users can only select cells.

    On an attempt to edit range “C3:E8” on a protected sheet, the end-user will be prompted for a password (“123”) unless the application which loaded the worksheet is not run under the same account as the application which has executed the following code snippet. If it is so, a password is not required to edit the range “C3:E8”.

    View Example

    workbook.BeginUpdate()
    Dim worksheet As Worksheet = workbook.Worksheets(0)
    worksheet("C3:E8").Borders.SetAllBorders(Color.Black, BorderLineStyle.Thin)
    
    ' Give specific user permission to edit a range in a protected worksheet. 
    Dim protectedRange As ProtectedRange = worksheet.ProtectedRanges.Add("My Range", worksheet("C3:E8"))
    Dim permission As New EditRangePermission()
    permission.UserName = Environment.UserName
    permission.DomainName = Environment.UserDomainName
    permission.Deny = False
    protectedRange.SecurityDescriptor = protectedRange.CreateSecurityDescriptor(New EditRangePermission() { permission })
    protectedRange.SetPassword("123")
    
    ' Protect a worksheet.
    If Not worksheet.IsProtected Then
        worksheet.Protect("password", WorksheetProtectionPermissions.Default)
    End If
    
    worksheet.ActiveView.ShowGridlines = False
    workbook.EndUpdate()
    
    See Also