Private Sub Workbook_Open()
Sheets("Sheet1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
第一个关键字Private说明该程序不出现在宏对话框中。程序的名字中,下划线前面部分为对象的名称,后面部分为事件的名称。该事件控制程序在工作簿打开时执行,其操作是选定第一个工作表,并将其对象、内容、方案等置为保护模式。
要创建事件控制程序,可以在Visual Basic环境中,先在“工程”窗口选定工作簿或某个工作表,然后单击“查看代码”按钮,或是直接单击“视图”菜单中的“代码窗口”命令。此时出现代码窗口,左边的下拉列表框列出了当前所有的对象;右边的下拉列表框则列出了相应对象的所有事件。选定某个对象及事件,输入程序代码即可。也可以将录制的宏语句复制、粘贴过来。
利用工程资源管理器,我们可以将众多的宏和事件控制程序有机地进行组织,创建功能强大的、高度自动化的应用系统。
Range("C3").Value = ScrollBar1.Value / 10000
类似地清除“数字调节钮”和第二个滚动条的LinkCell属性,在ScrollBar2_Change()事件过程中添加语句:
Range("C5").Value = ScrollBar2.Value
在SpinButton1_Change()事件过程中添加语句:
Range("C4").Value = SpinButton1.Value
这些事件控制程序使得单元格中的值随着控件的变化而变化。这时可以保护工作表了。在“工程”窗口中双击“ThisWorkbook”对象,进入“代码”窗口。在Workbook_Open()事件控制程序中加入下述语句:
Sheets(“Sheet1”).Protect User InterfaceOnly := True
Workbook_Open事件过程是工作簿的默认事件,每当工作簿打开时执行。该语句的UserInterfaceOnly参数 使得宏可以改变那些用户和控件不能改变的单元格。这样用户就不能往工作表中输入内容了,实际上也不必输入,只要用鼠标简单操作哪些控件就可以了。图形用户界面最大的好处是将可选功能限制于那些有效功能之间,因此减少,甚至杜绝了用户出错的机会。