一个好的功能的EXCEL模版,是需要作者花很大心思的,给别人试用的时候,能限制使用次数,并能自动删除,就很有必要了。
制作思路如下:
1.使用注册表保持记录。
如果要控制文件次数,就必须记录文件打开的次数,并且要保存下来。通过SaveSetting在注册表中建立项目和分区,并把次数保存在分区中,然后在利用GetSetting函数从注册表中读取次数,并把它和设定的次数比较,如果相等,则利用Kill方法销毁EXCEL文件。
2.函数的解释。
①SaveSetting函数:该函数用途是在注册表中保存值,它有4个参数。第一个“项目”;第二个“分区”;第三个“输入数据的名称”;第四个“输入的值”。
语法为:SaveSetting“项目”,“分区”,“数据名称”,数据。
②GetSetting函数:该函数是从注册表中的指定位置取出数值。
语法为:变量=GetSetting(appname:="项目",section:="分区",key:="数值名称",Default:=当没有取出值就使用该处设定的值)
③DeleteSetting函数:该函数的用途是从注册表中删除指定的项目和分区。
语法为:DeleteSetting"项目","分区"
以下为代码:
Private Sub Workbook_Open()
cs=GetSetting(appname:="myexcel",section:="startup",key:="sycs", Default:=1)
MsgBox "您还可以使用的次数为" & (20 - cs) & "次。"
If cs = 20 Then
DeleteSetting "myexcel", "startup"
Msgbox "使用次数已用完,系统将被删除,谢谢使用。"
ActiveWorkbook.ChangeFileAccess xlreadOnly
Kill ActiveWorkbook.FullName
ThisWorkbook.Close False
End If
cs = cs + 1
SaveSetting "myexcel","startup","sycs", cs
End Sub
注意:
1.如何使用VBA,通过菜单:工具-宏-VB编辑器,新界面中:视图-工程资源管理器-双击ThisWorkBook.
2.如何破解?很简单,禁用宏,或者把宏的权限设置到高。这样这部分代码就不被运行了!呵呵。别郁闷,这个小例子只是为了学习VBA而已。
0 Comments