Я не могу найти какой-либо код, который ТОЛЬКО отключает функцию сохранения как без отключения сохранения.
Перечисленный код очень эффективен при отключении СОХРАНЕНИЯ и СОХРАНЕНИЯ КАК, но я хочу, чтобы пользователи могли сохранять данные, но НЕ имели возможности СОХРАНИТЬКАК, чтобы они не могли создать версию рабочей книги. (копирование файла в файловом менеджере в этом случае не проблема - просто сохранить как проблема.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim xName As String
xName = "CancelBeforeSave"
If Not Evaluate("=ISREF('" & xName & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = xName & ""
Sheets(xName & "").Move after:=Worksheets(Worksheets.Count)
'To edit macros disable by changing to True
'Need to open workbook first with macros disabled
Sheets(xName & "").Visible = False
Exit Sub
End If
'To edit macros disable by changing to False
'Need to open workbook first with macros disabled
Cancel = True
End Sub
Я ожидаю, что открытая книга не позволит сохранять файлы, не затрагивая другие открытые книги.
В качестве альтернативы коду, который я предоставил, если бы мы могли просто повторно включить функциональность сохранения, это также было бы приемлемо.