求解excel宏程序定时自动删除的方法 100
excel表格打开后,自动检测,如果不允许宏程序执行,内容将不能显示如果不是xp系统,删除内容,保存,退出并删除文档如果超过指定时间日期,删除内容,保存,退出并删除文档可...
excel表格打开后,自动检测,如果不允许宏程序执行,内容将不能显示
如果不是xp系统,删除内容,保存,退出并删除文档
如果超过指定时间日期,删除内容,保存,退出并删除文档
可以查找,但不允许复制,
在03 07版本中运行正常 展开
如果不是xp系统,删除内容,保存,退出并删除文档
如果超过指定时间日期,删除内容,保存,退出并删除文档
可以查找,但不允许复制,
在03 07版本中运行正常 展开
4个回答
展开全部
1.在一台电脑上使用,如果复制到另一台电脑上,提示使用2个月,2个月后自动启动自杀程序,代码如下:
Sub Auto_Open()
Dim fs, d, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(ThisWorkbook.Path)))
s = d.serialnumber '磁盘序列号
If s = 要使用的电脑磁盘序列号 Then Exit Sub
Dim FirstDate, de, days
FirstDate = Date
de = GetSetting("XXX", "YYY", "date", "") '从注册表取值
If de = "" Then '如果取不到值
SaveSetting "XXX", "YYY", "date", FirstDate '把日期保存到注册表
MsgBox "本文件可使用60天,今天是第1次使用", , "提示"
Else
days = Date - CDate(de) '计算文件使用的天数
If days > 60 Then '如果文件使用超过60天
MsgBox "已超过使用期限,本文件将自杀", , "警告"
ThisWorkbook.ChangeFileAccess xlReadOnly '改为只读属性
Kill ThisWorkbook.FullName '自杀
ThisWorkbook.Close False '关闭不保存
End If
MsgBox "本文件已使用" & days & "天,还有" & 60 - days & "天可使用", , "提示"
End If
End Sub
2.指定时间自杀
Private Sub Workbook_Open()
Sheet1.Activate
If Now >= DateSerial("2008", "10", "6") Then
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ThisWorkbook.Close False
End If
End Sub
Sub Auto_Open()
Dim fs, d, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(ThisWorkbook.Path)))
s = d.serialnumber '磁盘序列号
If s = 要使用的电脑磁盘序列号 Then Exit Sub
Dim FirstDate, de, days
FirstDate = Date
de = GetSetting("XXX", "YYY", "date", "") '从注册表取值
If de = "" Then '如果取不到值
SaveSetting "XXX", "YYY", "date", FirstDate '把日期保存到注册表
MsgBox "本文件可使用60天,今天是第1次使用", , "提示"
Else
days = Date - CDate(de) '计算文件使用的天数
If days > 60 Then '如果文件使用超过60天
MsgBox "已超过使用期限,本文件将自杀", , "警告"
ThisWorkbook.ChangeFileAccess xlReadOnly '改为只读属性
Kill ThisWorkbook.FullName '自杀
ThisWorkbook.Close False '关闭不保存
End If
MsgBox "本文件已使用" & days & "天,还有" & 60 - days & "天可使用", , "提示"
End If
End Sub
2.指定时间自杀
Private Sub Workbook_Open()
Sheet1.Activate
If Now >= DateSerial("2008", "10", "6") Then
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ThisWorkbook.Close False
End If
End Sub
更多追问追答
追问
这个杀毒软件会不会报毒?是否可配置excel禁止执行该代码?如果可配置,如何设置如果不执行该代码,excel内容是错误,或无法显示?
追答
杀毒软件不会。
可以的,禁止宏。(“信任中心设置”-》“宏设置”)
展开全部
如果是应付EXCEL菜鸟,楼上的代码可行,如果碰到稍微懂一点excel的话,他会
1:发现表格需要启用宏时,先不点启用,而是禁用,此时能打开,只是不显示内容而已
( 不要认为使用4.0宏表他就办不到)
2:破解VBA密码,(网上破解VBA密码方法多的是)
3:删除所有代码,将所有工作表的visible属性设置为-1(假设你对工作表做了深度隐藏)
4破解工作表的保护密码(假设有密码)
5:将工作表的字体设置为黑色(假设你将字体改成了EXCEL背景色)
试问,如果这样做的话,你的目的能达到吗
1:发现表格需要启用宏时,先不点启用,而是禁用,此时能打开,只是不显示内容而已
( 不要认为使用4.0宏表他就办不到)
2:破解VBA密码,(网上破解VBA密码方法多的是)
3:删除所有代码,将所有工作表的visible属性设置为-1(假设你对工作表做了深度隐藏)
4破解工作表的保护密码(假设有密码)
5:将工作表的字体设置为黑色(假设你将字体改成了EXCEL背景色)
试问,如果这样做的话,你的目的能达到吗
追问
就是问如操作,为何你又问了一遍
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Private Sub Workbook_Open()中设置定时起动语句,如下例
例子Application.OnTime EarliestTime:=TimeValue("17:00:00"), rocedure:="删除宏"
设置删除宏子程序,如下例删除一个自定义菜单“财务”
Sub 删除宏()‘Application.CommandBars("财务").Delete ’End Sub
在下午5点“财务”自定义菜单会被删除
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
文件退出后宏也就结束了,要删除文档就不可能了。
只查找,不允许复制这个功能只要设置文档保护即可实现。
其它内容通过vba都是可以实现的。
只查找,不允许复制这个功能只要设置文档保护即可实现。
其它内容通过vba都是可以实现的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询