利用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小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。