Приветствую Ваш вчерашний код очень помог выполнить мою задумку. Но выяснилось что то что должно быть в архиве очищается. пересмотрев свой подход к задаче я понял что в начале мне надо указать дату в листе книги (это смог). далее сохранить файл в архивную папку (спасибо получил Ваш код), потом повторно пересохранить его в рабочую папку (яндекс диск, насколько я понял что если файл с таким-же названием ссылка не теряется) (вот тут проблема, хочу код), дальше я его чищу (удаляю текст и фото, восстанавливаю обрамление ячеек) и отдаю в работу. Более элегантного решения я не придумал
Sub RenameAndMoveFile()
Dim currentWB As Workbook
Set currentWB = ThisWorkbook
' Текущий путь файла
Dim srcPath As String
srcPath = currentWB.FullName
' Целевая папка (поменяйте на свою)
Dim destFolder As String
destFolder = "C:\НоваяПапка\" ' укажите своё расположение
' Название файла без пути
Dim fileName As String
fileName = Right(srcPath, Len(srcPath) - InStrRev(srcPath, "\"))
' Регулярное выражение для поиска и удаления пробела и даты формата DD-MM-YYYY
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "\s\d{2}-\d{2}-\d{4}$" ' Пробел и дата в конце строки
regex.Global = True
' Очистка имени файла
Dim cleanedFileName As String
cleanedFileName = regex.Replace(fileName, "")
' Полный путь к новому расположению файла
Dim destPath As String
destPath = destFolder & cleanedFileName
' Создаем целевую папку, если её нет
If Dir(destFolder, vbDirectory) = "" Then
MkDir destFolder
End If
' Перемещаем и переименовываем файл
On Error Resume Next
Name srcPath As destPath
End Sub
Доброе утро. прошу опять помощи Есть файл Армавир 11-сен-2025.xlsm. необходим макрос который был удалял цифры-месяц-год и сохранял бы это в другую папку.
написал: МатросНаЗебре написал: Sub Работа()... ' закрыть файл' Application.Quit Сохранить_файлEnd Sub
сделай пожалуйста на образце. последовательность вначале работа (мы очищаем заполненные данные и в ярлыке пишем текущую дату) а потом уже твой код. немного не понимаю
нет не менял странно заработало но немного не то что нужно. У нас в ячейке А1 указан объект. и нужно в папке Отчеты проверить есть ли папка Армавир. если нет создать. далее в ней нужно проверить папку месяца если нет создать и туда сохранить файл. А сейчас сохраняется C:\Отчеты\09 с пропуском наименования объекта
Прошу помощи всесильного разума и сильно не пинать. ну не знаю я WB есть таблица в ячейке А1 находится название объекта например Армавир. Необходимо в папке С:\Отчеты создать папку с именем ячейки А1 (Армавир) в ней создать папку с номером месяца (берем из ярлыка листа он там вида 11-09-2025 (день-месяц-год)) то есть 09 и сохранил туда файлик вида Армавир-11-09-2025.xlsm