У меня есть шаблон, над которым я работаю.Лист использует две основные функции, о которых я буду говорить.Во-первых, это Save (func), который сохраняет копию документа в нужную папку, оставляя шаблон.Второй - это функция Rev Up. Всякий раз, когда в шаблон вносятся изменения, новая копия сохраняется, а старая остается.Обе эти функции работают отлично.
Проблемы возникают из-за человеческой ошибки.Когда шаблон открыт, очень легко нажать «Сохранить» (в версии Excel, а не на кнопке VBA, которую я создал) или когда при закрытии шаблона появляется «файл не сохранен», снова открывается «Сохранить».
Когда кто-то работает с этого рабочего стола, он часто использует предварительно заполненную электронную таблицу, поскольку некоторые из них имеют много совпадений, которые могут сэкономить много работы по сравнению с началом с шаблоном.Так что все мои функции должны оставаться активными.При работе с предварительно заполненным листом обе эти проблемы усиливаются, так как вызывают много ошибок и потеряют работу.
Чтобы решить эту проблему, я добавил 3 функции, которые прекрасно работают самостоятельно.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Fileonly = Filename Then
Else:
Cancel = True 'Cancels any request to save the file
MsgBox "File name does not match part number, Use Rev up button for format changes or use Save button to create new file!"
End If
Я хочу, чтобы этот код активировался при нажатии кнопки сохранения.Затем сравните текущее имя файла с именем, которое будет дано файлу, если файл был сохранен (func) прямо там.Этот код делает именно то, что я хочу ... и многое другое.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ThisWorkbook.Saved = False Then
ThisWorkbook.Saved = True
ActiveWorkbook.SaveAs Filename:=*backupfilelocation*
End If
Этот код используется для подавления «хотите ли вы сохранить изменения», при этом файл будет сохранен, а затем сохранит копию файла в резервном хранилище, если вы его сохранили случайно.,Опять же, этот код работает отлично.Но функция Saveas
запускает код beforesave
.Затем предотвращает сохранение файла.
У меня есть 2 других макроса, которые также сохраняют файл.Как мне разрешить saveas
работать, подавляя возможность сохранения, если названия не совпадают.