上次我写了个VBA实现Excel指定时间才能打开~那能不能指定EXCEL表格打开指定的次数以后自杀呢?
什么叫自杀?
很简单嘛,就是自己杀死自己!对于Excel来说,就是删除自己了!
如何实现?代码咯!可以参考如下代码:
- Private Sub Workbook_Open()
- Dim n As Integer
- Range("A65536").Value = Range("A65536").Value + 1
- n = Range("A65536").Value
- MsgBox "文件只能使用3次,您已用了" & n & "次!"
- If n < 3 Then
- ActiveWorkbook.Save
- Else
- With ThisWorkbook
- .Saved = True
- .ChangeFileAccess xlReadOnly
- Kill .FullName
- .Close False
- End With
- End If
- End Sub
以上代码就是指定Excel表格打开3次后自杀,当然次数可以自定义!
当然发出这个只是为了技术上的分享,大家没事不要拿自己宝贵的数据做测试,后果无法估量!谨慎使用!
备注:若要测试请勿拿真实数据测试,请记得备份!
搜了下BAIDU,知道了N=N+1的意思,我没接触过VB,但还是依葫芦画瓢做了这个,
Private Sub Workbook_Open()
Dim n As Integer
Worksheets(“首页”).Range(“A1”).Value = Worksheets(“首页”).Range(“A1”).Value + 1
n = Worksheets(“首页”).Range(“A1”).Value
Dim savetime As String
savetime = ActiveWorkbook.BuiltinDocumentProperties(“last save time”).Value
If savetime = “” Then
MsgBox ActiveWorkbook.Name & “工作簿没有保存”
Else
MsgBox “您好!这是您第” & n & “次使用本表格,上次使用时间是在” & savetime & “,祝您多用多开心”, , ActiveWorkbook.Name
End If
End Sub
打开表格显示已经打开的次数,和上次保存的时间,这两个都是在博主上面看到的,
一个是计次,一个是记录工作簿保存时间,3Q,非常有用
你很不错,能举一反三,你也是高手~
Range(“A65536”).Value = Range(“A65536”).Value + 1
上面这句话没看懂,我想理解下整个这个操作的思路是不是这样的
Private Sub Workbook_Open()
Dim n As Integer ‘给n确定数据属性
Range(“A65536”).Value = Range(“A65536”).Value + 1 ‘
n = Range(“A65536”).Value
MsgBox “文件只能使用3次,您已用了” & n & “次!” ‘提示信息内容
If n < 3 Then ’
ActiveWorkbook.Save
Else
With ThisWorkbook
.Saved = True
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close False
End With
End If
End Sub
Range(“A65536″).Value = Range(“A65536″).Value + 1
可以理解为n=n+1,其实就是个表达意思
您好,能加个QQ联系吗,这个我想具体再问清楚些,我的4481819,
挺有意思的!代码很想VB……
其实就是VB在excel上的延伸!道理差不多~
的确是好东西。。。
你想用吗~~