Подскажите, пожалуйста, код для макроса, со следующей логикой: При нажатии условной "кнопки" файл, в модуле которого есть этот макрос, сохраняется через функцию "Сохранить как" с именем исходного файла + текущей датой, в той же самой папке. Пример не прикладываю, т.к. ответ на вопрос не зависит от содержимого книги.
Заранее благодарю всех откликнувшихся!
Добрый день, уважаемые знатоки VBA!
Подскажите, пожалуйста, код для макроса, со следующей логикой: При нажатии условной "кнопки" файл, в модуле которого есть этот макрос, сохраняется через функцию "Сохранить как" с именем исходного файла + текущей датой, в той же самой папке. Пример не прикладываю, т.к. ответ на вопрос не зависит от содержимого книги.
Предлагаю такой код. Можно всё в одну строчку сделать, развернул только для наглядности.
UPD: Опять Александр самый быстрый =)
[vba]
Код
Sub Rio_ReSave_Spell()
'Author: Roman Rioran Voronov 'Date: the 7-th of October, 2014 'Feedback: voronov_rv@mail.ru
'Макрос позволяет сохранить книгу в той же папке, где книга сохранена сейчас 'К названию сохраняемой книги добавляется "_[Дата без точек].[Формат]", по умолчанию .xlsb
Dim strA As String 'Текущий адрес книги на ПК Dim strB As String 'Имя книги без формата Dim strC As String 'Формирование даты + формата
'Сшиваем заготовку из частей ThisWorkbook.SaveAs Filename:=strA & strB & strC
End Sub
[/vba]
ArkaIIIa, привет.
Предлагаю такой код. Можно всё в одну строчку сделать, развернул только для наглядности.
UPD: Опять Александр самый быстрый =)
[vba]
Код
Sub Rio_ReSave_Spell()
'Author: Roman Rioran Voronov 'Date: the 7-th of October, 2014 'Feedback: voronov_rv@mail.ru
'Макрос позволяет сохранить книгу в той же папке, где книга сохранена сейчас 'К названию сохраняемой книги добавляется "_[Дата без точек].[Формат]", по умолчанию .xlsb
Dim strA As String 'Текущий адрес книги на ПК Dim strB As String 'Имя книги без формата Dim strC As String 'Формирование даты + формата
Ну и я свои пять копеек внесу. Следующие процедуры не привязаны к версии офиса. Да и дата с секундами. Чтобы можно было по несколько раз в день "предохраняться" Эта процедура точно "по заданию" - пересохранение файла под другим именем
[vba]
Код
Sub SaveAs_Now() With ThisWorkbook .SaveAs (.Path & "\" & Replace(.Name, "." & Split(.Name, ".")(1), "_" & Format(Now, "YYYY-MM-DD_hh.mm.ss") & "." & Split(.Name, ".")(1))) End With End Sub
[/vba]
А это "вариация на тему" - сохранение копии рабочего файла. А сам файл не переименовывается.
[vba]
Код
Sub SaveCopyAs_Now() With ThisWorkbook .SaveCopyAs (.Path & "\" & Replace(.Name, "." & Split(.Name, ".")(1), "_" & Format(Now, "YYYY-MM-DD_hh.mm.ss") & "." & Split(.Name, ".")(1))) End With End Sub
[/vba]
А вообще-то, если бы ArkaIIIa воспользовался поиском по форуму, то в Готовых решениях он на первой же странице без труда нашёл бы топик Макрос Save_Copy_As, в котором рассматриваются варианты.
Ну и я свои пять копеек внесу. Следующие процедуры не привязаны к версии офиса. Да и дата с секундами. Чтобы можно было по несколько раз в день "предохраняться" Эта процедура точно "по заданию" - пересохранение файла под другим именем
[vba]
Код
Sub SaveAs_Now() With ThisWorkbook .SaveAs (.Path & "\" & Replace(.Name, "." & Split(.Name, ".")(1), "_" & Format(Now, "YYYY-MM-DD_hh.mm.ss") & "." & Split(.Name, ".")(1))) End With End Sub
[/vba]
А это "вариация на тему" - сохранение копии рабочего файла. А сам файл не переименовывается.
[vba]
Код
Sub SaveCopyAs_Now() With ThisWorkbook .SaveCopyAs (.Path & "\" & Replace(.Name, "." & Split(.Name, ".")(1), "_" & Format(Now, "YYYY-MM-DD_hh.mm.ss") & "." & Split(.Name, ".")(1))) End With End Sub
[/vba]
А вообще-то, если бы ArkaIIIa воспользовался поиском по форуму, то в Готовых решениях он на первой же странице без труда нашёл бы топик Макрос Save_Copy_As, в котором рассматриваются варианты.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Вторник, 07.10.2014, 23:36
Добрый день! Очень полезный макрос, вот только я не смог найти как прописать так, чтобы он ко всему прочему сохранял по определенному пути? Заранее спасибо!
Добрый день! Очень полезный макрос, вот только я не смог найти как прописать так, чтобы он ко всему прочему сохранял по определенному пути? Заранее спасибо!Egon
[/vba] У меня из макроса сохраняется файл с другим именем, но после того, как я хочу его удалить например через Total commwnder вызывается критическая ошибка
[/vba] У меня из макроса сохраняется файл с другим именем, но после того, как я хочу его удалить например через Total commwnder вызывается критическая ошибкаstepan190
Попробуйте узнать, какой процесс блокирует созданный Вами файл. Проще всего для этого можно поставить ОЧЕНЬ ПОЛЕЗНУЮ утилиту Unlocker и попытаться разблокировать файл. Unlocker выдаст окно со списком процессов, "держащих" файл.
Попробуйте узнать, какой процесс блокирует созданный Вами файл. Проще всего для этого можно поставить ОЧЕНЬ ПОЛЕЗНУЮ утилиту Unlocker и попытаться разблокировать файл. Unlocker выдаст окно со списком процессов, "держащих" файл.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Среда, 06.05.2020, 12:24