officeba > 单独文章


利用office2010 VBA制作文件打开次数限制

使用文件不允许用于超过X次的演示

假设您想要发送一个检查用户的文件的演示版本,但你不想使用也许没有你为它付出了一定的次数多 ,。有很多可行的办法,针对这种情况,但在这里我要显示一些简单的VBA称为报表 使用SaveSetting和 GetSetting。

这里的整个过程的截图。它的运行每次打开工作簿时。如果VBA代码密码保护,用户将不能够很容易地防止结束的演示程序。


 
语法GetSetting是:


 
... ... SaveSetting是:


 
每一个参数是您提供访问存储在信息,或从注册表中读取一个任意名称。

AppName的更像是一个大类,该是一个子类别,重点是又一类。它得到更清晰的例子。第一次打开此工作簿,声明N = GetSetting(“演示”,“演示”,“演示”,0)1执行。第四个参数是默认值,如果没有设置实际上是已存储 。所以第一次,GetSetting返回0存储变量 n 1

n5(还),并进入运行SaveSetting声明SaveSetting“演示”,“演示”,“演示”,N现在存储在注册表中的值5下一次打开工作簿,Getsetting,返回1,和1被添加到它和存储ñ仍然没有5,现在2存储在注册表中,等最终,GetSetting返回5n6,退出消息后,用户和程序。

要重置零你自己的机器上,你可以运行SaveSetting“演示”,“演示”,“演示”,0,也可以运行的VBA的另一个变体称为 DeleteSetting。这个语法是:

正如你可以看到,关键是可选的。因此,执行DeleteSetting“演示”,清除注册表的AppName以及重点 。

使用GetSettingSaveSettingDeleteSetting可以让您之间通信的Excel会议,我最喜欢的方式来使用它调试。我经常遇到的一些VBA代码崩溃,我无法查明,发生这种情况的stumpers 。这是VBA代码超过40000行(是的,一个非常庞大而复杂的的宏设置!) 。单步执行通过代码的想法是好的,但有次当我这样做,则不会出现错误 !所以,我穿插随机行的东西,像我的代码SaveSetting“X”,“X”的“X”, 1 和SaveSetting“X”,“X”,“X”2 SaveSetting的“X”,“X”的 , “X”等,一旦程序崩溃了,我启动Excel,并在即时窗口中运行是否:GetSetting(“X”“X”的“X “),如果返回2例如, 后来我才知道SaveSetting,产生了23,产生了一个的程序之间的坠毁 。有帮助。

最后,存储的值是有限的数字我在此所示的例子,它可以是任何字符串你想要的,它像一个存储区域为任何目的使用。


声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!

时间:2012-01-06 15:04:37,点击:65824


【OfficeBa论坛】:阅读本文时遇到了什么问题,可以到论坛进行交流!Excel专家邮件:342327115@qq.com(大家在Excel使用中遇到什么问题,可以咨询此邮箱)。

【声明】:以上文章或资料除注明为Office自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,本站确认后将立即撤下。谢谢您的支持与理解!


相关评论

我要评论

评论内容