Microsoft заявляет в своем «Методе Workbook.ChangeFileAccess», когда вы переключаетесь с книги, которая открыта ReadOnly на ReadWrite, что Excel необходимо извлечь новую копию этой же книги с диска, открывая, таким образом,новая версия файла.
Учитывая, что это так, вам потребуется реализовать код в процедуре On_Open вашей рабочей книги.Поскольку это именно тот случай, вам необходимо сообщить пользователю перед выполнением процедуры, что статус будет изменен.
Примечание.) или любым другим способом, которым файл еще не сохранен на диске, это может вызвать ошибку.
Private Sub Workbook_Open()
If ActiveWorkbook.ReadOnly Then
MsgBox "Access will be changed from Read Only to Read/Write." & _
vbNewLine & "The file will reopen in ReadWrite mode."
ActiveWorkbook.Saved = True
ActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite
Else: MsgBox "No Access Changed"
End If
End Sub