天天看點

制作一個禁止修改檔案名的Excel文檔

在資料分析場景中,有很多時候需要從Excel檔案導入更新資料,如果檔案名字不固定,重複執行時就有可能會出現麻煩的問題,是否可以利用技術手段對Excel檔案名字做一個保護呢?

廢話不多說,直接上代碼。

Sub auto_open()
Dim f As String
Const fn As String = "1.xlsm"  '固定檔案名,修改這裡即可

If ThisWorkbook.Name <> fn Then
    f = ThisWorkbook.FullName
    ThisWorkbook.Saved = True
    ThisWorkbook.ChangeFileAccess xlReadOnly
    FileCopy f, ThisWorkbook.Path & "\" & fn
    Kill f
    Workbooks.Open ThisWorkbook.Path & "\" & fn
    ThisWorkbook.Close False
End If

End Sub           

原理是為你的檔案增加一個打開就執行的宏,Auto_Open,然後打開的時候判斷檔案名有沒有被更改,如果更改了,就改回原名字之後再打開~

怎麼樣,這樣就可以防止别人改名字了,前提當然是要啟用宏啦,畢竟防君子不防小人。。。

繼續閱讀