Для принудительного сохранения только в указанное c местоположение:
Это код, который должен остановить большинство попыток сохранения:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.EnableEvents = False
Cancel = True
Call MySaveCode
BackToExcelSave:
Application.EnableEvents = True
End Sub
Затем вам нужно добавить код для вашего сохранить и избежать запуска процедуры сохранения по умолчанию в Excel:
Sub MySaveCode()
On Error GoTo ReEnable ' Use On Error in case they cannot save to specified location/filename
Application.EnableEvents = False ' turn off excel default action (Workbook_BeforeSave)
Dim Path As String
Dim FileName As String
Path = "C:\Users\SeanC\Documents\Excel\"
FileName = "MyFixedFilename.xlsm"
Application.DisplayAlerts = False 'Optional. Suppresses default excel messages
ThisWorkbook.SaveAs Filename:= _
Path & FileName, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
CreateBackup:=False, _
Password:="P@$$w0rd"
MsgBox "Saved as: " & ThisWorkbook.FullName 'Also Optional
ReEnable:
Application.DisplayAlerts = True 'Optional
Application.EnableEvents = True
End Sub