财务经理人网|财智东方.财务经理人网-致力于财务管理实践、打造卓越财务经理人!

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: gvntw - 

[原创]非固定电脑限制文件使用期限

[复制链接]

37

主题

85

帖子

170

积分

会计师

Rank: 2Rank: 2

积分
170
发表于 2008-9-4 13:45:00 |显示全部楼层 | 阅读模式

马上注册,结交更多财务经理人,享用更多功能,成就财务总监之路……

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

文件只能在固定的一台电脑上使用,非本电脑,限制使用天数。

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

2008-9/20089413442019177.rar

0

主题

5

帖子

10

积分

会计员

Rank: 1

积分
10
发表于 2008-9-11 15:36:00 |显示全部楼层
财务BP与传统财务的区别是什么	2022.02.08 (周二)

gvntw版主,您好,没想到在这里会遇到您。我有个问题想您请教,当我在语句

If s = "5RA4G6YJ" Then Exit Sub '要使用的电脑磁盘序列号

填入自己的序列号后,仍然会提示有XX天的使用期限,为什么呢?谢谢!附上我用来提取序列号的文件

2008-9/200891115353728624.rar
[此贴子已经被作者于2008-9-12 0:13:57编辑过]
回复

使用道具 举报

37

主题

85

帖子

170

积分

会计师

Rank: 2Rank: 2

积分
170
发表于 2008-9-12 21:06:00 |显示全部楼层
我没办法帮助测试的,你把文件放在其他盘上(CDE等)测试看看。
回复

使用道具 举报

0

主题

5

帖子

10

积分

会计员

Rank: 1

积分
10
发表于 2008-9-13 00:08:00 |显示全部楼层

谢谢gvntw版主。我应该找到答案了,不知俺这样理解对不对,问题的关键在对序列号的求解:此序列号非彼序列号。用提取硬盘序列号的VBA程序或其他软件提出来的东东是真正的硬盘序列号,但不是这个帖子里VBA所需的“序列号”(冤啊)。对此特别号码理解是从另一相关帖子里的gif动画里悟出来了,终于看出来了,看出来了。再次感谢谢谢gvntw版主。

回复

使用道具 举报

37

主题

85

帖子

170

积分

会计师

Rank: 2Rank: 2

积分
170
发表于 2008-9-13 11:32:00 |显示全部楼层
哦,可能你取出的是物理序列号,那个更标准,格式化硬盘也不会改变,但过程太麻烦。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部