我希望通过Access实用地保护Excel工作簿中的工作表,以使用户无法更改公式。怎么做?
首先,您希望用户能够像这样进行编辑的解锁单元格:
Cells(1, 1).Locked = False
将您的wokrkbook传递给此功能:
Public Sub ProtectWorksheets(workbook As excel.workbook)
On Error GoTo ErrHandler_
Dim ws As excel.Worksheet
For Each ws In workbook.Worksheets
'Protect Method with all the parameters passed in it
ws.Protect _
Password:="password", _
DrawingObjects:=False, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True, _
AllowFormattingCells:=True, _
AllowFormattingColumns:=True, _
AllowFormattingRows:=True, _
AllowInsertingColumns:=True, _
AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=True, _
AllowDeletingRows:=True, _
AllowSorting:=False, _
AllowFiltering:=False, _
AllowUsingPivotTables:=False
Next
ExitProc_:
DoCmd.Hourglass False
Exit Sub
ErrHandler_:
'Call LogError(Err.Number, Err.Description, "ExcelUtilities", "ProtectWorksheets")
Resume ExitProc_
Resume ' use for debugging
End Sub