VBA ป้องกันการลบ worksheet ครับ
Posted: Thu Mar 20, 2014 1:21 pm
อาจารย์ครับ
ผมต้องการเขียนโค้ดป้องกันผู้ใช้งานเผลอลบแผ่นงานโดยบังเอิญ ลองเอาโค้ดปิดเมนูเวลาคลิกขวาที่แท็บชีทของอาจารย์มาใช้ดู ได้ผลดีครับ (โค้ดตามด้านล่าง) แต่เมนูลบชีทที่ ribbon ยังสามารถเข้าถึงได้ ควรปรับโค้ดอย่างไรดีครับ เพื่อป้องกันการลบชีทโดยเลือกเมนูจากริบบอนด้วย
ที่
ที่
ผมใช้ Microsoft Excel 2010 ครับ
ขอบคุณมากครับ
ผมต้องการเขียนโค้ดป้องกันผู้ใช้งานเผลอลบแผ่นงานโดยบังเอิญ ลองเอาโค้ดปิดเมนูเวลาคลิกขวาที่แท็บชีทของอาจารย์มาใช้ดู ได้ผลดีครับ (โค้ดตามด้านล่าง) แต่เมนูลบชีทที่ ribbon ยังสามารถเข้าถึงได้ ควรปรับโค้ดอย่างไรดีครับ เพื่อป้องกันการลบชีทโดยเลือกเมนูจากริบบอนด้วย
ที่
ThisWorkbook คีย์โค้ดCode: Select all
Private Sub Workbook_Open()
Sheets("Sheet1").Select
Call DisableCommandBars
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call EnableCommandBars
End SubModule ปกติ คีย์Code: Select all
Sub DisableCommandBars()
Dim Cbar As CommandBar
For Each Cbar In Application.CommandBars
Cbar.Enabled = False
Next
End Sub
Sub EnableCommandBars()
Dim Cbar As CommandBar
For Each Cbar In Application.CommandBars
Cbar.Enabled = True
Next
End Subขอบคุณมากครับ