Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос для "Сохранить как" *имя файла + текущая дата* - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Макрос для "Сохранить как" *имя файла + текущая дата*
ArkaIIIa Дата: Вторник, 07.10.2014, 12:59 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
Добрый день, уважаемые знатоки VBA!

Подскажите, пожалуйста, код для макроса, со следующей логикой:
При нажатии условной "кнопки" файл, в модуле которого есть этот макрос, сохраняется через функцию "Сохранить как" с именем исходного файла + текущей датой, в той же самой папке.
Пример не прикладываю, т.к. ответ на вопрос не зависит от содержимого книги.

Заранее благодарю всех откликнувшихся!
 
Ответить
СообщениеДобрый день, уважаемые знатоки VBA!

Подскажите, пожалуйста, код для макроса, со следующей логикой:
При нажатии условной "кнопки" файл, в модуле которого есть этот макрос, сохраняется через функцию "Сохранить как" с именем исходного файла + текущей датой, в той же самой папке.
Пример не прикладываю, т.к. ответ на вопрос не зависит от содержимого книги.

Заранее благодарю всех откликнувшихся!

Автор - ArkaIIIa
Дата добавления - 07.10.2014 в 12:59
_Boroda_ Дата: Вторник, 07.10.2014, 13:20 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16715
Репутация: 6504 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
Sub tt()
      ThisWorkbook.SaveAs (ThisWorkbook.Path & "\" & Replace(ThisWorkbook.Name, ".xls", "_" & Format(Date, "YYYYMMDD") & ".xls"))
End Sub
[/vba]
К сообщению приложен файл: 11_20141007_201.xlsm (19.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
[vba]
Код
Sub tt()
      ThisWorkbook.SaveAs (ThisWorkbook.Path & "\" & Replace(ThisWorkbook.Name, ".xls", "_" & Format(Date, "YYYYMMDD") & ".xls"))
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 07.10.2014 в 13:20
ArkaIIIa Дата: Вторник, 07.10.2014, 13:23 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
_Boroda_
Да, Александр, именно то, что нужно! Спасибо!
 
Ответить
Сообщение_Boroda_
Да, Александр, именно то, что нужно! Спасибо!

Автор - ArkaIIIa
Дата добавления - 07.10.2014 в 13:23
Rioran Дата: Вторник, 07.10.2014, 13:42 | Сообщение № 4
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
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 'Формирование даты + формата

strA = ThisWorkbook.Path & "\"
strB = Left(ThisWorkbook.Name, InStr(1, ThisWorkbook.Name, ".xl") - 1)
strC = "_" & Replace(Str(Date), ".", "") & ".xlsb"

'Сшиваем заготовку из частей
ThisWorkbook.SaveAs Filename:=strA & strB & strC

End Sub
[/vba]


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279


Сообщение отредактировал Rioran - Вторник, 07.10.2014, 13:58
 
Ответить
Сообщение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 'Формирование даты + формата

strA = ThisWorkbook.Path & "\"
strB = Left(ThisWorkbook.Name, InStr(1, ThisWorkbook.Name, ".xl") - 1)
strC = "_" & Replace(Str(Date), ".", "") & ".xlsb"

'Сшиваем заготовку из частей
ThisWorkbook.SaveAs Filename:=strA & strB & strC

End Sub
[/vba]

Автор - Rioran
Дата добавления - 07.10.2014 в 13:42
Alex_ST Дата: Вторник, 07.10.2014, 23:32 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Ну и я свои пять копеек внесу.
Следующие процедуры не привязаны к версии офиса.
Да и дата с секундами. Чтобы можно было по несколько раз в день "предохраняться"
Эта процедура точно "по заданию" - пересохранение файла под другим именем
А это "вариация на тему" - сохранение копии рабочего файла. А сам файл не переименовывается.

А вообще-то, если бы ArkaIIIa воспользовался поиском по форуму, то в Готовых решениях он на первой же странице без труда нашёл бы топик Макрос Save_Copy_As, в котором рассматриваются варианты.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 07.10.2014, 23:36
 
Ответить
СообщениеНу и я свои пять копеек внесу.
Следующие процедуры не привязаны к версии офиса.
Да и дата с секундами. Чтобы можно было по несколько раз в день "предохраняться"
Эта процедура точно "по заданию" - пересохранение файла под другим именем
А это "вариация на тему" - сохранение копии рабочего файла. А сам файл не переименовывается.

А вообще-то, если бы ArkaIIIa воспользовался поиском по форуму, то в Готовых решениях он на первой же странице без труда нашёл бы топик Макрос Save_Copy_As, в котором рассматриваются варианты.

Автор - Alex_ST
Дата добавления - 07.10.2014 в 23:32
Egon Дата: Пятница, 07.04.2017, 08:55 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день! Очень полезный макрос, вот только я не смог найти как прописать так, чтобы он ко всему прочему сохранял по определенному пути? Заранее спасибо!
 
Ответить
СообщениеДобрый день! Очень полезный макрос, вот только я не смог найти как прописать так, чтобы он ко всему прочему сохранял по определенному пути? Заранее спасибо!

Автор - Egon
Дата добавления - 07.04.2017 в 08:55
Pelena Дата: Пятница, 07.04.2017, 09:11 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
Вместо ThisWorkbook.Path пропишите "определенный путь"


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВместо ThisWorkbook.Path пропишите "определенный путь"

Автор - Pelena
Дата добавления - 07.04.2017 в 09:11
Alex_ST Дата: Пятница, 07.04.2017, 13:25 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
А ещё лучше не в ручную прописывать путь, а глянуть по ссылке на Макрос Save_Copy_As



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеА ещё лучше не в ручную прописывать путь, а глянуть по ссылке на Макрос Save_Copy_As

Автор - Alex_ST
Дата добавления - 07.04.2017 в 13:25
stepan190 Дата: Вторник, 05.05.2020, 21:39 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Alex_ST,
Применил ваш подход

[vba]
Код
With ThisWorkbook
.SaveCopyAs (.Path & "\" & Replace(.Name, "." & Split(.Name, ".")(1), "_" & Format(Now, "YYYY-MM-DD_hh.mm.ss") & "." & Split(.Name, ".")(1)))
[/vba]
У меня из макроса сохраняется файл с другим именем, но после того, как я хочу его удалить например через Total commwnder вызывается критическая ошибка
К сообщению приложен файл: __.docx (93.2 Kb)


Stepan

Сообщение отредактировал stepan190 - Вторник, 05.05.2020, 21:40
 
Ответить
СообщениеAlex_ST,
Применил ваш подход

[vba]
Код
With ThisWorkbook
.SaveCopyAs (.Path & "\" & Replace(.Name, "." & Split(.Name, ".")(1), "_" & Format(Now, "YYYY-MM-DD_hh.mm.ss") & "." & Split(.Name, ".")(1)))
[/vba]
У меня из макроса сохраняется файл с другим именем, но после того, как я хочу его удалить например через Total commwnder вызывается критическая ошибка

Автор - stepan190
Дата добавления - 05.05.2020 в 21:39
Hugo Дата: Вторник, 05.05.2020, 22:20 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
stepan190, файл без проблем удаляется, значит ошибка не в этом куске кода.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
Сообщениеstepan190, файл без проблем удаляется, значит ошибка не в этом куске кода.

Автор - Hugo
Дата добавления - 05.05.2020 в 22:20
Alex_ST Дата: Среда, 06.05.2020, 12:22 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Попробуйте узнать, какой процесс блокирует созданный Вами файл.
Проще всего для этого можно поставить ОЧЕНЬ ПОЛЕЗНУЮ утилиту Unlocker и попытаться разблокировать файл.
Unlocker выдаст окно со списком процессов, "держащих" файл.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Среда, 06.05.2020, 12:24
 
Ответить
СообщениеПопробуйте узнать, какой процесс блокирует созданный Вами файл.
Проще всего для этого можно поставить ОЧЕНЬ ПОЛЕЗНУЮ утилиту Unlocker и попытаться разблокировать файл.
Unlocker выдаст окно со списком процессов, "держащих" файл.

Автор - Alex_ST
Дата добавления - 06.05.2020 в 12:22
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!