VBA excel宏:仅从某个位置运行

VBA excel宏:仅从某个位置运行,vba,excel,Vba,Excel,我有一些带有宏的Excel表格,我希望任何用户都只能从特定位置运行,在我的例子中是特定的sharepoint。 如果用户将Excel文件“另存为”到任何其他位置,他应该会收到一条错误消息 我正在寻找一个VBA脚本放在这些工作簿,让我达到我的目标 有人能帮忙吗?如果有人想将其保存到其他位置,您可以在那里显示一条错误消息,并将Cancel参数设置为true Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boo

我有一些带有宏的Excel表格,我希望任何用户都只能从特定位置运行,在我的例子中是特定的sharepoint。 如果用户将Excel文件“另存为”到任何其他位置,他应该会收到一条错误消息

我正在寻找一个VBA脚本放在这些工作簿,让我达到我的目标


有人能帮忙吗?

如果有人想将其保存到其他位置,您可以在那里显示一条错误消息,并将
Cancel
参数设置为true

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If Not ThisWorkbook.Path Like "//sharepoint/path/*" Then
    MsgBox "You can't save the excel", vbCritical
    Cancel = True
End if

End Sub
同样,如果工作簿在正确位置打开,则可以签入“工作簿\打开”功能:

Private Sub Workbook_Open()

If ThisWorkbook.Path Like "//sharepoint/path/*" Then
    'Do things
Else
    'Error message and close
End If

End Sub

您好,我不是想阻止保存excel。我正在尝试从仅从sharepoint而非其他地方运行宏。我编辑了我的答案。我希望我明白你的意思。老实说,我不知道Sharepoint,但工作簿的路径应该是来自Sharepoint的URL,所以我想你可以检查一下。谢谢Wernerson-这回答了我的问题。非常感谢。很乐意帮忙。您是否可以将答案标记为已接受,以便其他人看到它对您有效:)根据so指南,此问题与主题无关:。为了让我们提供帮助,我们需要能够看到导致问题的代码。我很抱歉-我是新来的&应该在发布之前熟悉指导原则。