利用VBA读写excel文档属性

网友投稿 501 2022-12-03

利用VBA读写excel文档属性

利用VBA读写excel文档属性

要实现限制文件使用次数,想来应该在某个地方存储文档已用的次数,并且在文档每被使用一次这个使用次数就得发生相应的更改。如果这个思路正确的话,我们就可以利用文档属性的某个位置来实现这一想法,故有了以下两种形式:一、利用自定义属性:因为我们可以自定义数字型的属性,这一点非常符合我们的需求先用一行代码ThisWorkbook.CustomDocumentProperties.Add Name:="open_times",LinkToContent:=False,Type:=msoPropertyTypeNumber,Value:=10来定义一个名为open_times的数字型属性、初始值为10。当然也可以手动定义然后在文档的打开事件中写入:Private Sub Workbook_Open()If ThisWorkbook.CustomDocumentProperties("open_times")1 Then MsgBox"可用次数已小于1"Else ThisWorkbook.CustomDocumentProperties("open_times")=ThisWorkbook.CustomDocumentProperties("open_times")-1 End If End Sub注:1、这里我们只讨论在必须启用宏的情况下。2、这里只写了打开文档的次数,要想保存、修改等等,请作相应改动。3、限制的代码请自行修改,此处只写了MsgBox"可用次数已小于1"这么一个提示信息二、上一个方法自然、直观,但不隐蔽。再利用内置文档属性直观上不容易发现的:先用一行代码ThisWorkbook.BuiltinDocumentProperties.Item("comments")=""将备注清空,然后文档每打开一次其备注增加一个空格,再判断其长度,当长度达到我们的限制要求时,作相应操作:Private Sub Workbook_Open()ThisWorkbook.BuiltinDocumentProperties.Item("comments")=ThisWorkbook.BuiltinDocumentProperties.Item("comments")&""If Len(ThisWorkbook.BuiltinDocumentProperties.Item("comments"))10 Then MsgBox"已超过可用次数"End If End Sub注:同前,限制的代码请自行修改,此处只写了一个提示信息

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:怎样让Excel窗口总在最前面?
下一篇:如何快速显示所有隐藏的Excel工作表
相关文章