相信许多上班族都遇到或使用过共享软件,该类软件在使用过程中会提供试用版本,到达一定的期限后就必须得经过注册才能继续使用。下面小编也依葫芦画瓢,给大家展示一下利用Excel VBA制作一个注册版应用程序,希望借此起到抛砖引玉的效果。
![Excel二次开发:[1]注册版应用程序开发](http://www.52ij.com/uploads/allimg/160403/0943464S0-0.jpg)
详细的操作方法或具体步骤
打开Microsoft Excel 2007,新建一工作簿,并将该文件另存为“限时软件.xlsm",并选择保存类型为”Excel 启用宏的工作簿(*.xlsm)“。按键盘快捷键“Alt+F11”进入VBA编程环境。
![Excel二次开发:[1]注册版应用程序开发](http://www.52ij.com/uploads/allimg/160403/0943461A6-1.jpg)
在VBA环境下,右击“Microsoft Excel对象”,在弹出的菜单中选择“插入”→“模块”。
![Excel二次开发:[1]注册版应用程序开发](http://www.52ij.com/uploads/allimg/160403/0943464b6-2.jpg)
然后在模板1中输入如图所示的代码:
Sub 验证期限()
Dim 注册表主键 As String
Dim 单位名称 As String
Dim 注册表项 As Variant
Dim 注册表键名 As Variant
Dim 注册表值 As Integer
Dim i As Integer
Dim WSH As Object
Set WSH=CreateObject("WSCRIPT.SHELL")
注册表主键="HKEY_CURRENT_USER\Software"
单位名称="百度ID:feifeidown"
注册表项="使用期限"
注册表键名=Array("时", "分", "秒")
注册表键值=Array(0, 0, 0)
On Error GoTo RegisterSoft
For i=0 To 2 Step 1
注册表键值(i)=WSH.RegRead(注册表主键 & "\" & 单位名称 & "\" & 注册表项 & "\" & 注册表键名(i))
Next i
MsgBox "此表的使用期限为24小时", vbInformation, "提示"
If Int(Hour(Time)) > Val(注册表键值(0)) Then
MsgBox "已成功读到期时间数据:" & 注册表键值(0) & ":" & 注册表键值(1) & ":" & 注册表键值(2) & "\n本数据表将会被删除"
Else
If Int(Hour(Time)) < Val(注册表键值(0)) Then
MsgBox "已成功读到期时间数据:" & 注册表键值(0) & ":" & 注册表键值(1) & ":" & 注册表键值(2) & "\n由于期限未到,你可以正常使用本表!"
Else
If Val(Minute(Time)) > Val(注册表键值(1)) Then
MsgBox "已成功读到期时间数据:" & 注册表键值(0) & ":" & 注册表键值(1) & ":" & 注册表键值(2) & "\n本数据表将会被删除"
Else
If Val(Minute(Time)) < Val(注册表键值(1)) Then
MsgBox "已成功读到期时间数据:" & 注册表键值(0) & ":" & 注册表键值(1) & ":" & 注册表键值(2) & "\n由于期限未到,你可以正常使用本表!"
Else
If Val(Second(Time)) > Val(注册表键值(2)) Then
MsgBox "已成功读到期时间数据:" & 注册表键值(0) & ":" & 注册表键值(1) & ":" & 注册表键值(2) & "\n本数据表将会被删除"
Else
MsgBox "已成功读到期时间数据:" & 注册表键值(0) & ":" & 注册表键值(1) & ":" & 注册表键值(2) & "\n由于期限未到,你可以正常使用本表!"
End If
End If
End If
End If
End If
GoTo exit1:
RegisterSoft:
MsgBox "非注册用户,将无法使用本数据表的功能!请注册该数据表的使用功能。。。"
ActiveWorkbook.Close 1
exit1:
End Sub
本段代码的重要功能是从注册表中读取特定的日期信息,如果日期信息存在并大于当前系统日期,则认为是已注册用户,并且可正常使用 应用程序。否则如果日期相关信息不存在或已存在的日期小于当前系统时间,则系统就会判定当前用户为未注册用户,同时当前应用程序会自动推出。
![Excel二次开发:[1]注册版应用程序开发](http://www.52ij.com/uploads/allimg/160403/09434B322-3.jpg)
为了后面演示效果的直观性, 在VBA环境中点击“返回Microsoft Excel“按钮,返回Excel环境。并在Sheet1工作表中输入如图所示的提示信息。
![Excel二次开发:[1]注册版应用程序开发](http://www.52ij.com/uploads/allimg/160403/09434B4H-4.jpg)
重启打开”限时软件.xlsm“Excel文档,由于当前还没有注册该软件,因此文档一打开,就弹出窗口,提示”当前用户未注册“。 当用户点击”确定‘按钮,后,当前应用程序就会自动关闭。
![Excel二次开发:[1]注册版应用程序开发](http://www.52ij.com/uploads/allimg/160403/09434AC1-5.jpg)
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
