我想创建一个 VBA 宏来执行以下操作:
仅当从 Windows 目录中的某个文件夹打开文件时,才会打开带有宏的 Excel 文件。
如果没有从指定文件夹打开,则需要显示错误消息框并自动关闭文件。
我们使用的文件已经完全安全,但用户仍然可以将其从现有文件夹复制到桌面,例如,我们想通过仅接受从特定目录打开文件来阻止他们使用旧版本。我尝试在互联网上寻找解决方案,但没有找到。
从中打开包含快捷方式。
它是一个公司文件,但在我们的环境中使用了宏。
我需要可以编辑文件夹名称的代码,将其改为我想要的任何名称(这样我们以后就可以随时更改它)
答案1
将其放入本工作簿在 VBA 编辑器中:
Private Sub workbook_open()
Dim strPath As String
strPath = "c:\username\path\to\workbook"
If Not Application.ActiveWorkbook.Path = strPath Then
MsgBox ("This is an old version, please use the correct version at " & strPath)
Application.ActiveWorkbook.Close
End If
End Sub
只需更改strPath
为您想要使用的路径即可。如果您觉得有必要,也可以将其替换ActiveWorkbook
为。ThisWorkbook
如果它位于网络共享上,请务必测试它能.path
给您带来什么,因为它可能会用驱动器号替换网络位置,而驱动器号可能会因用户而异。