现在单独使用都是正常,希望可以整合到一起,同时使用两个功能;先必须启用宏,然后再禁止Cut,谢谢
禁止使用Cut:
PrivateSub Workbook_Open() Application.OnKey "^{x}", "" Application.CommandBars(1).Controls(2).Controls(3).Enabled = False Application.CommandBars("Row").Controls(1).Enabled = False Application.CommandBars("Cell").Controls(1).Enabled = False Application.CommandBars("Column").Controls(1).Enabled = False Application.CellDragAndDrop = FalseEndSubPrivateSub Workbook_BeforeClose(Cancel AsBoolean) Application.OnKey "^{x}" Application.CommandBars(1).Controls(2).Controls(3).Enabled = True Application.CommandBars("Row").Controls(1).Enabled = True Application.CommandBars("Cell").Controls(1).Enabled = True Application.CommandBars("Column").Controls(1).Enabled = True Application.CellDragAndDrop = TrueEndSub
不启用宏,无法阅读文件:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Ws As Worksheet
Application.ScreenUpdating = False
For Each Ws In Worksheets
If Ws.Name <> ActiveSheet.Name Then Ws.Visible = xlSheetVeryHidden
Next Ws
ActiveWindow.DisplayWorkbookTabs = False
ActiveWindow.DisplayHeadings = False
ActiveSheet.Range("a1:a" & Rows.Count).EntireRow.Hidden = True
ThisWorkbook.Save
For Each w In Application.Workbooks
w.Saved = True
Next w
Application.ScreenUpdating = True
Application.Quit
End Sub
Private Sub Workbook_Open()
Dim Ws As Worksheet
Application.ScreenUpdating = False
For Each Ws In Worksheets
Ws.Visible = xlSheetVisible
Next Ws
ActiveWindow.DisplayWorkbookTabs = True
ActiveWindow.DisplayHeadings = True
ActiveSheet.Range("a1:a" & Rows.Count).EntireRow.Hidden = False
End Sub
把workbook_open的两段代码贴一起,workbook_beforeclose的两段代码贴一起就可以了。
启用宏显示sheet,并且屏蔽cut功能
Private Sub Workbook_Open()第二,关闭文件前,恢复cut功能,隐藏sheet:
Private Sub Workbook_BeforeClose(Cancel As Boolean)