Excel文件必须防止移动或复制

我有一个Excel表格,在我的员工应该报告的特定networking中。 我已经用密码保护它,但是我想用VBA来保护它,如果文件path或目录改变,文件不应该打开。 例如,如果文件位于“C:\ Excel \ Book1.xlms”中,则必须始终保持正常工作或文件不能打开。

你可以硬编码地址到Open事件来检查文件是否是相同的?

Private Sub Workbook_Open() If "C:\Excel\" <> ThisWorkbook.Path Then ThisWorkbook.Close End Sub 

设置一个事件触发任何时间工作簿打开来检查文件名。 如果文件名不是您指定的path,请closures工作簿。

将代码粘贴到VBA编辑器中的ThisWorkbook中:

 Private Sub Workbook_Open() Dim FileLoc, MyPath As String FileLoc = ThisWorkbook.Path MyPath = "C:\Excel\" If FileLoc <> MyPath Then MsgBox ("The workbook was not in the required filepath." _ & vbNewLine & "The reuqired filepath is: " & MyPath _ & vbNewLine & "The current filepath is: " & FileLoc) Application.DisplayAlerts = False ThisWorkbook.Close End If End Sub