2011年8月22日 星期一

人氣10000的經驗分享 -- EXCEL FILE自殺


這是一個小小的趣味動作, 可以讓你根據某個條件(如時間過期, 無法輸入正確密碼的人), 當你預設的條件無法滿足時, EXCEL FILE會自己自殺, 讓不相干的人無法使用你的檔案, 很有趣吧, 只要一小段程式碼如下

Public Sub KILLME()
Application.DisplayAlerts = False                       ' 把警告訊息視窗給disable
ActiveWorkbook.ChangeFileAccess xlReadOnly     ' 把目前的活頁簿的檔案屬性設成唯讀
Kill ActiveWorkbook.FullName                            ' 刪除目前活頁簿
ThisWorkbook.Saved = True                             ' 設定活頁簿已儲存, 不然會有訊息彈出
Application.Quit                                             ' 離開EXCEL

End Sub

為什麼這樣就能檔案自殺呢? 好像是因為在設成唯讀屬性時, 會產生另一個臨時檔案, 所以在刪除自己時, 只會刪除原來的檔案, 而設成唯讀的活頁簿不會被更改, 一旦離開EXCEL, 臨時檔案也會被EXCEL刪除掉, 也許有人會說, 我只要在VBA自殺之前, 進入VBA的程式裡暫停它就好了, 沒錯, 這樣的確是可以阻擋檔案自殺, 但是還是有方法可以讓你進不了VBA, 這個方法大概是防止別人偷看你的VBA的最好方法了, 有興趣的人, 自己google看看吧

沒有留言:

張貼留言

歡迎大家來討論交流一下~~~