Как сохранить файл что бы название было по дате и времени

Программирование на Visual Basic for Applications
Kesar
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.04.2007 (Ср) 7:58
Откуда: Екатеринбург

Как сохранить файл что бы название было по дате и времени

Сообщение Kesar » 11.04.2007 (Ср) 12:59

Подскажите как написать макрос что бы автоматом сохранял файл в названии была дата и время

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.04.2007 (Ср) 13:11

Какая имеено часть вопроса вызывает затруднения?
Или попыток осуществить задуманное вообще предпринято не было?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Kesar
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 04.04.2007 (Ср) 7:58
Откуда: Екатеринбург

Сообщение Kesar » 11.04.2007 (Ср) 13:24

было вот например
Sub Сохр()
ChDir "D:\1\Мониторинг
ActiveWorkbook.SaveAs Filename:=DateValue,FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.04.2007 (Ср) 13:44

И как, что получалось в результате?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Pavel55
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 27.10.2006 (Пт) 20:11

Сообщение Pavel55 » 11.04.2007 (Ср) 14:56

В DateValue, наверное, есть двоеточия (т.е. знаки, которые запрещены для использования в имени файла <> | ? : [ ] * )

Pavel55
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 27.10.2006 (Пт) 20:11

Сообщение Pavel55 » 11.04.2007 (Ср) 15:13

А если так?
1. Если вы хотите получить название файла такое: Книга1_11.04.2007 16.12.41.xls
Код: Выделить всё
Option Explicit
Sub Macro1()
    Dim iName$, iDate$
    iDate = Now 'узнаем текущую дату и время
    iDate = Replace(iDate, ":", ".") 'заменяем двоеточия на точку
    iName = ActiveWorkbook.Name 'узнаём имя файла
    iName = Left(iName, Len(iName) - 4) 'убираем расширение файла
    iName = "C:\Temp\" & iName & "_" & iDate & ".xls" 'полное имя файла
    ActiveWorkbook.SaveAs Filename:=iName, FileFormat:=xlNormal, Password:="", _
        WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub


2. Если вы хотите получить название файл, например, такое 11.04.2007 16.26.23.xls

Код: Выделить всё
Option Explicit
Sub Macro2()
    Dim iName$, iDate$
    iDate = Now 'узнаем текущую дату и время
    iDate = Replace(iDate, ":", ".") 'заменяем двоеточия на точку
    iName = "C:\Temp\" & iDate & ".xls" 'полное имя файла
    ActiveWorkbook.SaveAs Filename:=iName, FileFormat:=xlNormal, Password:="", _
        WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Другие участники может что-нибудь проще подскажут
Последний раз редактировалось Pavel55 11.04.2007 (Ср) 15:28, всего редактировалось 1 раз.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.04.2007 (Ср) 15:24

Ага.
Например, что заставлять думать полезнее, чем давать на блюдечке.
Ладно, раз уж. Format$(now, "dd\.mm\.yyyy hh-mm")
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Pavel55
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 27.10.2006 (Пт) 20:11

Сообщение Pavel55 » 11.04.2007 (Ср) 15:33

Ну, он хотя бы попытался )

P.S. Я вот думаю, а если в Format развернуть слеши, то точки у месяца и года не надо, наверное, будет ставить
Format$(Now, "dd/mm/yyyy hh.mm.ss")

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.04.2007 (Ср) 15:43

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

Pavel55
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 27.10.2006 (Пт) 20:11

Сообщение Pavel55 » 11.04.2007 (Ср) 16:04

а )
да, интересно )

bvitaly
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 16.05.2004 (Вс) 15:05

Сообщение bvitaly » 01.06.2007 (Пт) 9:47

А как выделить только месяц, чтоб получилось Книга1_Май.xls? И после сохранения продолжать работать с первым файлом?
Последний раз редактировалось bvitaly 01.06.2007 (Пт) 9:53, всего редактировалось 2 раз(а).

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 01.06.2007 (Пт) 9:51

1. Стать на Format
2. Нажать F1
3. Читать
Lasciate ogni speranza, voi ch'entrate.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 92

    TopList