Каждый раз, когда Мэтью закрывает книгу, он хотел бы, чтобы Excel создавал датированную резервную копию этой книги, что означает, что она сохраняется с использованием имени файла, включающего дату. Таким образом, если он сохранит «AnyWorkbookName», он будет сохранен не только под этим именем, но и под именем «AnyWorkbookName [Today’s Date & Time]». Мэтью уверен, что это нужно делать с помощью VBA, но не знает, как это сделать.

Для выполнения этой задачи можно разработать любое количество макросов. Большинство из них являются вариациями на тему (так сказать), поэтому для наших целей будет достаточно одного примера.

Следующий макрос непосредственно перед закрытием книги сохранит книгу с датой и временем, добавленными в конец имени файла.

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim sFileName As String     Dim sDateTime As String

With ThisWorkbook         sDateTime = " (" & Format(Now, "yyyy-mm-dd hhmm") & ").xlsm"

sFileName = Application.WorksheetFunction.Substitute _           (.FullName, ".xlsm", sDateTime)

.SaveCopyAs sFilename     End With End Sub

Макрос объединяет строку даты и времени в переменную sDateTime. Затем он вставляется в имя файла книги с помощью функции SUBSTITUTE workheet. (Строка даты / времени фактически вставляется непосредственно перед расширением имени файла.) Макрос предполагает, что книга сохраняется как файл XLSM, поскольку он должен содержать макросы, такие как макрос для этого сохранения.

Макрос следует поместить в модуль ThisWorkbook для книги.

Это гарантирует, что он будет выполняться непосредственно перед закрытием книги.

Также существуют сторонние надстройки, которые могут выполнять эту задачу. Ниже приведены некоторые из них, которые вы, возможно, захотите проверить.

http://www.jkp-ads.com/Download.asp#AutoSafe http://www.asap-utilities.com

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (13195) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.