Сохранение по адресу в соответствии с датой
ant6729
Дата: Воскресенье, 16.07.2017, 17:54 |
Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация:
2
±
Замечаний:
40% ±
Excel 2010
Добрый день, хочу сохранять документ в папку. Давно написал код. Но сейчас руки дошли дописать. Есть директория. [vba]Код
ChDir "G:\" ActiveWorkbook.SaveAs Filename:="G:\Вася\Петя\Катя\2017\Июль\12.07\Калькуляция\" & n & ".xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False
[/vba] Я хочу 2017\Июль\12.07 заменить на sl автоматически, а не менять руками дату в коде. Поэтому накалякал сейчас: [vba]Код
Sub fff () 'LV1 = Format(Now, "yyyy") 'LV2 = Format(Now, "mmmm") 'LV3 = Format(Now, "dd") 'LV4 = Format(Now, "mm") m = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now + 1, "dd") & "." & Format(Now, "mm") msm = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now + 2, "dd") & "." & Format(Now, "mm") Select Case Weekday(Now()) Case vbMonday sl = m Case vbTuesday sl = m Case vbWednesday sl = m Case vbThursday sl = m Case vbFriday sl = m Case vbSaturday sl = msm Case vbSunday sl = m End Select End Sub
[/vba] И получилось [vba]Код
ChDir "G:\" ActiveWorkbook.SaveAs Filename:="G:\Вася\Петя\Катя\sl\Калькуляция\" & n & ".xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False
[/vba] И кидает мне ошибку. Подскажите, пожалуйста, как сделать, чтобы часть "датовой" директории заменялась на переменную? Это возможно? Главное, чтобы сохранялось самостоятельно по дате. Реализация решения может быть совершенно иной. Будет интересно посмотреть любой вариант.
Добрый день, хочу сохранять документ в папку. Давно написал код. Но сейчас руки дошли дописать. Есть директория. [vba]Код
ChDir "G:\" ActiveWorkbook.SaveAs Filename:="G:\Вася\Петя\Катя\2017\Июль\12.07\Калькуляция\" & n & ".xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False
[/vba] Я хочу 2017\Июль\12.07 заменить на sl автоматически, а не менять руками дату в коде. Поэтому накалякал сейчас: [vba]Код
Sub fff () 'LV1 = Format(Now, "yyyy") 'LV2 = Format(Now, "mmmm") 'LV3 = Format(Now, "dd") 'LV4 = Format(Now, "mm") m = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now + 1, "dd") & "." & Format(Now, "mm") msm = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now + 2, "dd") & "." & Format(Now, "mm") Select Case Weekday(Now()) Case vbMonday sl = m Case vbTuesday sl = m Case vbWednesday sl = m Case vbThursday sl = m Case vbFriday sl = m Case vbSaturday sl = msm Case vbSunday sl = m End Select End Sub
[/vba] И получилось [vba]Код
ChDir "G:\" ActiveWorkbook.SaveAs Filename:="G:\Вася\Петя\Катя\sl\Калькуляция\" & n & ".xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False
[/vba] И кидает мне ошибку. Подскажите, пожалуйста, как сделать, чтобы часть "датовой" директории заменялась на переменную? Это возможно? Главное, чтобы сохранялось самостоятельно по дате. Реализация решения может быть совершенно иной. Будет интересно посмотреть любой вариант. ant6729
Сообщение отредактировал ant6729 - Воскресенье, 16.07.2017, 18:45
Ответить
Сообщение Добрый день, хочу сохранять документ в папку. Давно написал код. Но сейчас руки дошли дописать. Есть директория. [vba]Код
ChDir "G:\" ActiveWorkbook.SaveAs Filename:="G:\Вася\Петя\Катя\2017\Июль\12.07\Калькуляция\" & n & ".xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False
[/vba] Я хочу 2017\Июль\12.07 заменить на sl автоматически, а не менять руками дату в коде. Поэтому накалякал сейчас: [vba]Код
Sub fff () 'LV1 = Format(Now, "yyyy") 'LV2 = Format(Now, "mmmm") 'LV3 = Format(Now, "dd") 'LV4 = Format(Now, "mm") m = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now + 1, "dd") & "." & Format(Now, "mm") msm = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now + 2, "dd") & "." & Format(Now, "mm") Select Case Weekday(Now()) Case vbMonday sl = m Case vbTuesday sl = m Case vbWednesday sl = m Case vbThursday sl = m Case vbFriday sl = m Case vbSaturday sl = msm Case vbSunday sl = m End Select End Sub
[/vba] И получилось [vba]Код
ChDir "G:\" ActiveWorkbook.SaveAs Filename:="G:\Вася\Петя\Катя\sl\Калькуляция\" & n & ".xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False
[/vba] И кидает мне ошибку. Подскажите, пожалуйста, как сделать, чтобы часть "датовой" директории заменялась на переменную? Это возможно? Главное, чтобы сохранялось самостоятельно по дате. Реализация решения может быть совершенно иной. Будет интересно посмотреть любой вариант. Автор - ant6729 Дата добавления - 16.07.2017 в 17:54
Udik
Дата: Воскресенье, 16.07.2017, 18:24 |
Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация:
192
±
Замечаний:
0% ±
Excel 2016 х 64
По обрезкам кода трудно понять где ошибка. Ну а теоретически перед записью неплохо проверить наличие папки куда собрались писать. Конструкция с выбором вообще загадочна, зачем она нужна?
По обрезкам кода трудно понять где ошибка. Ну а теоретически перед записью неплохо проверить наличие папки куда собрались писать. Конструкция с выбором вообще загадочна, зачем она нужна? Udik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Сообщение отредактировал Udik - Воскресенье, 16.07.2017, 18:27
Ответить
Сообщение По обрезкам кода трудно понять где ошибка. Ну а теоретически перед записью неплохо проверить наличие папки куда собрались писать. Конструкция с выбором вообще загадочна, зачем она нужна? Автор - Udik Дата добавления - 16.07.2017 в 18:24
ant6729
Дата: Воскресенье, 16.07.2017, 18:40 |
Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация:
2
±
Замечаний:
40% ±
Excel 2010
Все оно сохраняет. Сохраняет практически. Потому что для каждого дня создается новая папка и туда сохраняется документ.
Все оно сохраняет. Сохраняет практически. Потому что для каждого дня создается новая папка и туда сохраняется документ. ant6729
Ответить
Сообщение Все оно сохраняет. Сохраняет практически. Потому что для каждого дня создается новая папка и туда сохраняется документ. Автор - ant6729 Дата добавления - 16.07.2017 в 18:40
ant6729
Дата: Воскресенье, 16.07.2017, 18:43 |
Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация:
2
±
Замечаний:
40% ±
Excel 2010
Чтобы в эту новую папку с новой датой сохранялся документ, нужно постоянно менять название директории в коде руками..А мне нужно, чтобы это было автоматически.
Чтобы в эту новую папку с новой датой сохранялся документ, нужно постоянно менять название директории в коде руками..А мне нужно, чтобы это было автоматически. ant6729
Ответить
Сообщение Чтобы в эту новую папку с новой датой сохранялся документ, нужно постоянно менять название директории в коде руками..А мне нужно, чтобы это было автоматически. Автор - ant6729 Дата добавления - 16.07.2017 в 18:43
_Boroda_
Дата: Воскресенье, 16.07.2017, 18:53 |
Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация:
6479
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
А так? [vba]Код
ActiveWorkbook.SaveAs Filename:="G:\Вася\Петя\Катя\" & sl & "\Калькуляция\" & n & ".xlsx"
[/vba] B Select Case там не нужен И обратите внимание, что 31 июля будет сохраняться в папку 2017\Июль\32 .07
А так? [vba]Код
ActiveWorkbook.SaveAs Filename:="G:\Вася\Петя\Катя\" & sl & "\Калькуляция\" & n & ".xlsx"
[/vba] B Select Case там не нужен И обратите внимание, что 31 июля будет сохраняться в папку 2017\Июль\32 .07 _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение А так? [vba]Код
ActiveWorkbook.SaveAs Filename:="G:\Вася\Петя\Катя\" & sl & "\Калькуляция\" & n & ".xlsx"
[/vba] B Select Case там не нужен И обратите внимание, что 31 июля будет сохраняться в папку 2017\Июль\32 .07 Автор - _Boroda_ Дата добавления - 16.07.2017 в 18:53
Udik
Дата: Воскресенье, 16.07.2017, 18:55 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация:
192
±
Замечаний:
0% ±
Excel 2016 х 64
Потому что для каждого дня создается новая папка и туда сохраняется документ.
В коде не видно как создается новая папка, кстати, а если она уже есть? Поэтому и написал про проверку.А мне нужно, чтобы это было автоматически.
И какое отношение к этому имеет Select Case? Кроме воскресенья всегда одинаковые действия, достаточно if...else
Потому что для каждого дня создается новая папка и туда сохраняется документ.
В коде не видно как создается новая папка, кстати, а если она уже есть? Поэтому и написал про проверку.А мне нужно, чтобы это было автоматически.
И какое отношение к этому имеет Select Case? Кроме воскресенья всегда одинаковые действия, достаточно if...elseUdik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Ответить
Сообщение Потому что для каждого дня создается новая папка и туда сохраняется документ.
В коде не видно как создается новая папка, кстати, а если она уже есть? Поэтому и написал про проверку.А мне нужно, чтобы это было автоматически.
И какое отношение к этому имеет Select Case? Кроме воскресенья всегда одинаковые действия, достаточно if...elseАвтор - Udik Дата добавления - 16.07.2017 в 18:55
ant6729
Дата: Воскресенье, 16.07.2017, 19:40 |
Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация:
2
±
Замечаний:
40% ±
Excel 2010
Boroda, спасибо, но сохраняет в папку только до " & sl & " т.е. до папки "2017"В коде не видно как создается новая папка, кстати, а если она уже есть? Поэтому и написал про проверку.
Так я её каждый день и делаю руками!! А потом в коде меняю к этой новой папке путь. И я это хочу уже прекратить. Пытаюсь.B Select Case там не нужен
Не знаю... может и не нуженИ обратите внимание, что 31 июля будет сохраняться в папку 2017\Июль\32.07
Это да... спасибо... предугадали... я не продумал.. Пока, теоретически воспользуюсь кодом, которым я это делал раньше... А по хорошему тоже нужно будет посидеть подумать, как прописать условие с последним днем месяца...
Boroda, спасибо, но сохраняет в папку только до " & sl & " т.е. до папки "2017"В коде не видно как создается новая папка, кстати, а если она уже есть? Поэтому и написал про проверку.
Так я её каждый день и делаю руками!! А потом в коде меняю к этой новой папке путь. И я это хочу уже прекратить. Пытаюсь.B Select Case там не нужен
Не знаю... может и не нуженИ обратите внимание, что 31 июля будет сохраняться в папку 2017\Июль\32.07
Это да... спасибо... предугадали... я не продумал.. Пока, теоретически воспользуюсь кодом, которым я это делал раньше... А по хорошему тоже нужно будет посидеть подумать, как прописать условие с последним днем месяца... ant6729
Сообщение отредактировал ant6729 - Воскресенье, 16.07.2017, 19:44
Ответить
Сообщение Boroda, спасибо, но сохраняет в папку только до " & sl & " т.е. до папки "2017"В коде не видно как создается новая папка, кстати, а если она уже есть? Поэтому и написал про проверку.
Так я её каждый день и делаю руками!! А потом в коде меняю к этой новой папке путь. И я это хочу уже прекратить. Пытаюсь.B Select Case там не нужен
Не знаю... может и не нуженИ обратите внимание, что 31 июля будет сохраняться в папку 2017\Июль\32.07
Это да... спасибо... предугадали... я не продумал.. Пока, теоретически воспользуюсь кодом, которым я это делал раньше... А по хорошему тоже нужно будет посидеть подумать, как прописать условие с последним днем месяца... Автор - ant6729 Дата добавления - 16.07.2017 в 19:40
ant6729
Дата: Воскресенье, 16.07.2017, 20:13 |
Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация:
2
±
Замечаний:
40% ±
Excel 2010
еще раз попробовал... сохраняет в G:.....2017\Июль.. дальше пока не двигается...
еще раз попробовал... сохраняет в G:.....2017\Июль.. дальше пока не двигается... ant6729
Сообщение отредактировал ant6729 - Воскресенье, 16.07.2017, 20:14
Ответить
Сообщение еще раз попробовал... сохраняет в G:.....2017\Июль.. дальше пока не двигается... Автор - ant6729 Дата добавления - 16.07.2017 в 20:13
_Boroda_
Дата: Воскресенье, 16.07.2017, 20:25 |
Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация:
6479
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
У меня вот так нормально работает [vba]Код
Sub fff() m = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now, "dd") & "." & Format(Now, "mm") sl = m n = "fffddd" nnn = "D:\Стереть_7\" & sl & "\Калькуляция\" & n & ".xlsx" 'ChDir "D:\Стереть_7\" & sl & "\Калькуляция" ActiveWorkbook.SaveAs Filename:=nnn ', FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False End Sub
[/vba] Попробуйте вместо точки & "." & писать что-то другое. Например, нижнее подчеркивание. Но, еще раз, у меня работает. Кстати, как следует проверьте - полностью ли совпадает путь начиная с даты
У меня вот так нормально работает [vba]Код
Sub fff() m = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now, "dd") & "." & Format(Now, "mm") sl = m n = "fffddd" nnn = "D:\Стереть_7\" & sl & "\Калькуляция\" & n & ".xlsx" 'ChDir "D:\Стереть_7\" & sl & "\Калькуляция" ActiveWorkbook.SaveAs Filename:=nnn ', FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False End Sub
[/vba] Попробуйте вместо точки & "." & писать что-то другое. Например, нижнее подчеркивание. Но, еще раз, у меня работает. Кстати, как следует проверьте - полностью ли совпадает путь начиная с даты _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение У меня вот так нормально работает [vba]Код
Sub fff() m = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now, "dd") & "." & Format(Now, "mm") sl = m n = "fffddd" nnn = "D:\Стереть_7\" & sl & "\Калькуляция\" & n & ".xlsx" 'ChDir "D:\Стереть_7\" & sl & "\Калькуляция" ActiveWorkbook.SaveAs Filename:=nnn ', FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False End Sub
[/vba] Попробуйте вместо точки & "." & писать что-то другое. Например, нижнее подчеркивание. Но, еще раз, у меня работает. Кстати, как следует проверьте - полностью ли совпадает путь начиная с даты Автор - _Boroda_ Дата добавления - 16.07.2017 в 20:25
ant6729
Дата: Воскресенье, 16.07.2017, 20:27 |
Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация:
2
±
Замечаний:
40% ±
Excel 2010
Не понимаю... 2017 и Июль видит, а 17.07 нет... Т.е. [vba]Код
Format(Date + 1, "dd/mm")
[/vba] в MsgBox показывает 17.07... папка называется 17.07... но до нее почему - то файл не доносит...кидает на полпути)
Не понимаю... 2017 и Июль видит, а 17.07 нет... Т.е. [vba]Код
Format(Date + 1, "dd/mm")
[/vba] в MsgBox показывает 17.07... папка называется 17.07... но до нее почему - то файл не доносит...кидает на полпути) ant6729
Ответить
Сообщение Не понимаю... 2017 и Июль видит, а 17.07 нет... Т.е. [vba]Код
Format(Date + 1, "dd/mm")
[/vba] в MsgBox показывает 17.07... папка называется 17.07... но до нее почему - то файл не доносит...кидает на полпути) Автор - ant6729 Дата добавления - 16.07.2017 в 20:27
ant6729
Дата: Воскресенье, 16.07.2017, 20:27 |
Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация:
2
±
Замечаний:
40% ±
Excel 2010
Попробуйте вместо точки & "." & писать что-то другое. Например, нижнее подчеркивание. Но, еще раз, у меня работает. Кстати, как следует проверьте - полностью ли совпадает путь начиная с даты
Сейчас еще раз гляну, ок
Попробуйте вместо точки & "." & писать что-то другое. Например, нижнее подчеркивание. Но, еще раз, у меня работает. Кстати, как следует проверьте - полностью ли совпадает путь начиная с даты
Сейчас еще раз гляну, окant6729
Ответить
Сообщение Попробуйте вместо точки & "." & писать что-то другое. Например, нижнее подчеркивание. Но, еще раз, у меня работает. Кстати, как следует проверьте - полностью ли совпадает путь начиная с даты
Сейчас еще раз гляну, окАвтор - ant6729 Дата добавления - 16.07.2017 в 20:27
ant6729
Дата: Воскресенье, 16.07.2017, 21:05 |
Сообщение № 12
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация:
2
±
Замечаний:
40% ±
Excel 2010
Все работает, благодарю!! Boroda! Всем спасибо!! [vba]Код
Sub jjj() m = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now + 1, "dd") & "." & Format(Now, "mm") msm = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now + 2, "dd") & "_" & Format(Now, "mm") Select Case Weekday(Now()) Case vbMonday sl = m Case vbTuesday sl = m Case vbWednesday sl = m Case vbThursday sl = m Case vbFriday sl = m Case vbSaturday sl = msm Case vbSunday sl = m End Select nnn = "G:\блабла\блабла\блабла\" & sl & "\блабла\" & n & ".xlsx" ActiveWorkbook.SaveAs Filename:=nnn End sub
[/vba] Хотя, в чем было отличие кроме & sl &, я пока не заметил... Видимо, ошибка внимания после работы.
Все работает, благодарю!! Boroda! Всем спасибо!! [vba]Код
Sub jjj() m = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now + 1, "dd") & "." & Format(Now, "mm") msm = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now + 2, "dd") & "_" & Format(Now, "mm") Select Case Weekday(Now()) Case vbMonday sl = m Case vbTuesday sl = m Case vbWednesday sl = m Case vbThursday sl = m Case vbFriday sl = m Case vbSaturday sl = msm Case vbSunday sl = m End Select nnn = "G:\блабла\блабла\блабла\" & sl & "\блабла\" & n & ".xlsx" ActiveWorkbook.SaveAs Filename:=nnn End sub
[/vba] Хотя, в чем было отличие кроме & sl &, я пока не заметил... Видимо, ошибка внимания после работы. ant6729
Ответить
Сообщение Все работает, благодарю!! Boroda! Всем спасибо!! [vba]Код
Sub jjj() m = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now + 1, "dd") & "." & Format(Now, "mm") msm = Format(Now, "yyyy") & "\" & Format(Now, "mmmm") & "\" & Format(Now + 2, "dd") & "_" & Format(Now, "mm") Select Case Weekday(Now()) Case vbMonday sl = m Case vbTuesday sl = m Case vbWednesday sl = m Case vbThursday sl = m Case vbFriday sl = m Case vbSaturday sl = msm Case vbSunday sl = m End Select nnn = "G:\блабла\блабла\блабла\" & sl & "\блабла\" & n & ".xlsx" ActiveWorkbook.SaveAs Filename:=nnn End sub
[/vba] Хотя, в чем было отличие кроме & sl &, я пока не заметил... Видимо, ошибка внимания после работы. Автор - ant6729 Дата добавления - 16.07.2017 в 21:05