Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA-关闭打开文件时的通知或只读选项_Excel_Vba - Fatal编程技术网

Excel VBA-关闭打开文件时的通知或只读选项

Excel VBA-关闭打开文件时的通知或只读选项,excel,vba,Excel,Vba,我有一本带有宏的工作簿,可供公司内部网上不同位置的几个人使用。当一个人以读/写访问权限打开它时,我们不希望其他人有“可用时通知”或“只读访问”选项。这是为了避免人们在桌面上保存文件,然后有人必须更新主文件的情况 如果人员A打开文档,而人员B尝试打开文档,他们会收到一条消息,说“请稍后再试”,我该怎么做?我尝试了下面的代码,但没有成功 Private Sub Workbook_Open() Dim blnReadonly As Boolean Application.DisplayAler

我有一本带有宏的工作簿,可供公司内部网上不同位置的几个人使用。当一个人以读/写访问权限打开它时,我们不希望其他人有“可用时通知”或“只读访问”选项。这是为了避免人们在桌面上保存文件,然后有人必须更新主文件的情况

如果人员A打开文档,而人员B尝试打开文档,他们会收到一条消息,说“请稍后再试”,我该怎么做?我尝试了下面的代码,但没有成功

Private Sub Workbook_Open()

Dim blnReadonly As Boolean

  Application.DisplayAlerts = False

blnReadonly = ThisWorkbook.ReadOnly

If blnReadonly = True Then
    MsgBox ("Application may not open in read only mode, try again later")
    Application.Quit
End If

Application.DisplayAlerts = True

End Sub

你的代码对我来说很好。运行代码时收到的错误消息是什么?不需要BLNREADOLY变量,也需要bool=True检查-如果此工作簿为只读,则只需执行此操作。然后,我将从应用程序中进行其他更改。退出此工作簿。关闭以保留用户当前在其计算机上打开的其他工作簿。如果不是所有的都将被关闭,在关闭前不可能保存它们。这不是vba宏的作业,您应该使用cvs我们的任何其他版本管理软件。问题是Excel的消息在宏运行之前首先在屏幕上运行:{Private Sub Workbook_Open}。这优于VBA消息之前的只读、通知、取消消息。