Я работаю над кодом VBA, который автоматически защитит книгу от пользователей, которые обращаются к ней после первого начального пользователя. Мой отдел недавно переключился на облачную систему, и этот код предназначен для нашего мастер-файла Excel, который отслеживает все предложения, которые мы отправляем клиентам. Проблема в том, что несколько человек обращаются к этому файлу, не подозревая, что кто-то еще находится в файле, и сохраняют свои изменения. Когда несколько человек сохраняют один и тот же файл, это вызывает «конфликтную» версию файла. Следовательно, почему я хочу заблокировать всех, кроме одного человека. Я вставил свой код ниже. Я довольно новичок в VBA и новичок в кодировании в целом. Я надеюсь, что кто-то может дать некоторые рекомендации по этому проекту. Спасибо!
Private Sub Workbook_Open()
Dim ws As Worksheet
Dim User As Variant
User = ThisWorkbook.UserStatus
If Range("O2").Text = "" Then
Set Range("O2").Value = User
Else
ws.Protect Password:="Password1", UserInterfaceOnly:=True
MsgBox (User & " is using the workbook right now. If you need a proposal please email " & User)
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim User As Variant
User = ThisWorkbook.UserStatus
On Error Resume Next
If User = Sheets("BidSheet2020").Range("O2").Text Then
Sheets("BidSheet2020").Range("O2").Clear
Else
ThisWorkbook.Saved = True
End If
End Sub