前景提要(報(bào)表數(shù)據(jù)也有有效期 數(shù)據(jù)保護(hù)更加隱蔽高明)
之前我們分享了如何通過簡易登錄窗體的方式來保護(hù)我們的關(guān)鍵數(shù)據(jù),這是一種非常暴力的方式,使用我們的電腦的人,如果想要查看我們的數(shù)據(jù),或者要打開我們的數(shù)據(jù),都必須輸入相應(yīng)的密碼才可以,對(duì)于多班次多崗位同事共用一臺(tái)電腦的公司,這個(gè)方法應(yīng)該是比較有效果的,但是又有點(diǎn)太直接了,比方說其他同事想要當(dāng)面找你要數(shù)據(jù)參考下,你總不能直接拒絕吧,畢竟大家一個(gè)公司的嘛,那今天和大家分享一下比較隱蔽一點(diǎn)的數(shù)據(jù)保護(hù)的方式,來,快關(guān)門~
場景模擬
假設(shè)有同事想要看看你的數(shù)據(jù),但是他對(duì)你又有提攜之恩,不好拒絕,但是嘛你自己的數(shù)據(jù)畢竟是你辛苦得到的,拒絕有不好,不拒絕又不好,那怎么辦?簡單點(diǎn),我設(shè)置個(gè)有效期嗎,假設(shè)我給你看一天,明天你打開的時(shí)候,這個(gè)工作薄就什么都看不到了,是不是好神奇,來,上案板,不上案例
代碼區(qū)
非常簡單
Private Sub Workbook_Open()
Dim t
t = Date
If t = #5/8/2019# Then
a = MsgBox("文件已損壞!", vbInformation)
ActiveWorkbook.Close
End If
End Sub
咦,代碼好像很簡單哦,真的可以實(shí)現(xiàn)這樣的功能嗎?來看看效果
對(duì)方接受了你的文件之后,到期后會(huì)提示

為什么會(huì)損壞呢,你不知道他不知道,大家都不知道,反正他的數(shù)據(jù)是看不成了,然后她有不好意思再找你要一份了,so,計(jì)策是不是很成功呢?哈哈
代碼分析
看到代碼的外框架,大家就知道這一段代碼應(yīng)該寫在哪里了吧
還是需要寫在這里,如果寫在其他的地方是不靈驗(yàn)的哦

代碼的內(nèi)容也很簡單,當(dāng)執(zhí)行了報(bào)表的打開命令之后,就是會(huì)執(zhí)行下面的代碼
t = Date
先獲取當(dāng)前的日期
然后進(jìn)行判斷當(dāng)前的日期,是否等于我們要設(shè)置的有效期的截止日期
If t = #5/8/2019# Then
a = MsgBox("文件已損壞!", vbInformation)
ActiveWorkbook.Close
End If
這里要注意日期的寫法,日期之間要加上#****#,在VBA中,這是日期的寫法,這樣表示中間的代表的是日期
如果日期等于我們?cè)O(shè)定的日期,就會(huì)彈出我們預(yù)設(shè)的窗口(換成感嘆號(hào)好一點(diǎn))

當(dāng)然內(nèi)容你可以自己組織咯,文件損壞啊,或者什么網(wǎng)上找的更加專業(yè)的報(bào)錯(cuò)之類的,反正就是讓對(duì)方認(rèn)為文件壞了,當(dāng)他點(diǎn)擊了確定之后,
ActiveWorkbook.Close
文件自動(dòng)關(guān)閉,這個(gè)大家已經(jīng)很熟悉了。