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

Вход

Регистрация

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

 

= Мир MS Excel/вставка Даты создания файла в ячейку - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » вставка Даты создания файла в ячейку (Формулы/Formulas)
вставка Даты создания файла в ячейку
MifV Дата: Среда, 16.07.2014, 19:49 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
Добрый день!
Подскажите пожалуйста как в ячейку листа вставить дату создания этого же файла. Именно дату создания (из атрибутов файла), а не дату изменения или открытия.
Спасибо

ПС. поиск по форуму результатов не дал
 
Ответить
СообщениеДобрый день!
Подскажите пожалуйста как в ячейку листа вставить дату создания этого же файла. Именно дату создания (из атрибутов файла), а не дату изменения или открытия.
Спасибо

ПС. поиск по форуму результатов не дал

Автор - MifV
Дата добавления - 16.07.2014 в 19:49
Serge_007 Дата: Среда, 16.07.2014, 20:07 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Здравствуйте
Excel этого не умеет, но можно на VBA:

[vba]
Код
Sub MifV()
          Dim objFSO As Scripting.FileSystemObject
          Dim fsoFile, DateCreate
          Dim FilePath As String
              Set objFSO = New Scripting.FileSystemObject
              FilePath = "путь к файлу"
              Set fsoFile = objFSO.GetFile(FilePath)
              DateCreate = (fsoFile.DateCreated)
              [a1] = DateCreate 'в ячейку А1 текущего листа вставляем дату создания файла
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЗдравствуйте
Excel этого не умеет, но можно на VBA:

[vba]
Код
Sub MifV()
          Dim objFSO As Scripting.FileSystemObject
          Dim fsoFile, DateCreate
          Dim FilePath As String
              Set objFSO = New Scripting.FileSystemObject
              FilePath = "путь к файлу"
              Set fsoFile = objFSO.GetFile(FilePath)
              DateCreate = (fsoFile.DateCreated)
              [a1] = DateCreate 'в ячейку А1 текущего листа вставляем дату создания файла
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 16.07.2014 в 20:07
MifV Дата: Среда, 16.07.2014, 20:36 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
Serge_007, Спасибо! я, к сожалению, совсем не силен в ВБА, при выполнении выдает ошибку "User-defined type not defined" что я делаю не так?
 
Ответить
СообщениеSerge_007, Спасибо! я, к сожалению, совсем не силен в ВБА, при выполнении выдает ошибку "User-defined type not defined" что я делаю не так?

Автор - MifV
Дата добавления - 16.07.2014 в 20:36
Serge_007 Дата: Среда, 16.07.2014, 20:39 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Подключите Microsoft Scripting Runtime (Tools - References)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеПодключите Microsoft Scripting Runtime (Tools - References)

Автор - Serge_007
Дата добавления - 16.07.2014 в 20:39
MifV Дата: Среда, 16.07.2014, 20:49 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
а у меня вкладка "References" неактивна
 
Ответить
Сообщениеа у меня вкладка "References" неактивна

Автор - MifV
Дата добавления - 16.07.2014 в 20:49
Serge_007 Дата: Среда, 16.07.2014, 20:56 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Run - reset


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеRun - reset

Автор - Serge_007
Дата добавления - 16.07.2014 в 20:56
_Boroda_ Дата: Среда, 16.07.2014, 21:40 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Можно так еще
[vba]
Код
Sub tt()
[A1] = FileDateTime(ThisWorkbook.Name)
End Sub
[/vba]
К сообщению приложен файл: 994466889.xls (27.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеМожно так еще
[vba]
Код
Sub tt()
[A1] = FileDateTime(ThisWorkbook.Name)
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 16.07.2014 в 21:40
Serge_007 Дата: Среда, 16.07.2014, 22:01 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
Саш, я не проверял, но справка утверждает что
FileDateTime позволяет узнать дату и время последней модификации файла. Если файл с момента своего создания не модифицировался, время и дата последней модификации совпадают со временем и датой создания файла


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеСаш, я не проверял, но справка утверждает что
FileDateTime позволяет узнать дату и время последней модификации файла. Если файл с момента своего создания не модифицировался, время и дата последней модификации совпадают со временем и датой создания файла

Автор - Serge_007
Дата добавления - 16.07.2014 в 22:01
_Boroda_ Дата: Среда, 16.07.2014, 22:46 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Действительно. Перепутал


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДействительно. Перепутал

Автор - _Boroda_
Дата добавления - 16.07.2014 в 22:46
MifV Дата: Четверг, 17.07.2014, 08:27 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
Serge_007, да всё получилось, спасибо. (правда помимо даты вписывает еще и время, но это не важно).
Подскажите еще, а как теперь сделать, чтобы этот макрос был привязан к определенному шаблону и выполнялся и при первом сохранении книги, созданной из этого шаблона.
 
Ответить
СообщениеSerge_007, да всё получилось, спасибо. (правда помимо даты вписывает еще и время, но это не важно).
Подскажите еще, а как теперь сделать, чтобы этот макрос был привязан к определенному шаблону и выполнялся и при первом сохранении книги, созданной из этого шаблона.

Автор - MifV
Дата добавления - 17.07.2014 в 08:27
MifV Дата: Понедельник, 27.10.2014, 12:15 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
Serge_007,
а если так?

[vba]
Код
Sub creation_date()
[A1] = BuiltinDocumentProperties.Item(11)
end sub
[/vba]


Сообщение отредактировал Serge_007 - Понедельник, 27.10.2014, 18:07
 
Ответить
СообщениеSerge_007,
а если так?

[vba]
Код
Sub creation_date()
[A1] = BuiltinDocumentProperties.Item(11)
end sub
[/vba]

Автор - MifV
Дата добавления - 27.10.2014 в 12:15
Alex_ST Дата: Понедельник, 27.10.2014, 16:44 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
По имени к элементу коллекции обращаться, имхо, удобнее чем по индексу
[vba]
Код
Sub Creation_Date()
Debug.Print ThisWorkbook.BuiltinDocumentProperties("Creation date")
End Sub
[/vba]



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


Сообщение отредактировал Alex_ST - Вторник, 28.10.2014, 10:17
 
Ответить
СообщениеПо имени к элементу коллекции обращаться, имхо, удобнее чем по индексу
[vba]
Код
Sub Creation_Date()
Debug.Print ThisWorkbook.BuiltinDocumentProperties("Creation date")
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 27.10.2014 в 16:44
krosav4ig Дата: Понедельник, 27.10.2014, 23:38 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Подключите Microsoft Scripting Runtime (Tools - References)

а можно и не подключать, если вместо[vba]
Код
Dim objFSO As Scripting.FileSystemObject
Set objFSO = New Scripting.FileSystemObject
[/vba]написать[vba]
Код
Dim objFSO: Set objFSO = CreateObject("Scripting.FileSystemObject")
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 27.10.2014, 23:38
 
Ответить
Сообщение
Подключите Microsoft Scripting Runtime (Tools - References)

а можно и не подключать, если вместо[vba]
Код
Dim objFSO As Scripting.FileSystemObject
Set objFSO = New Scripting.FileSystemObject
[/vba]написать[vba]
Код
Dim objFSO: Set objFSO = CreateObject("Scripting.FileSystemObject")
[/vba]

Автор - krosav4ig
Дата добавления - 27.10.2014 в 23:38
Alex_ST Дата: Вторник, 28.10.2014, 10:32 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
krosav4ig, ну, вообще-то можно и "совсем позднее" связывание применить без подключения Microsoft Scripting Runtime и назначения объектов:
[vba]
Код
Sub CR_DT()
Debug.Print CreateObject("Scripting.FileSystemObject").GetFile(ThisWorkbook.FullName).DateCreated
End Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщениеkrosav4ig, ну, вообще-то можно и "совсем позднее" связывание применить без подключения Microsoft Scripting Runtime и назначения объектов:
[vba]
Код
Sub CR_DT()
Debug.Print CreateObject("Scripting.FileSystemObject").GetFile(ThisWorkbook.FullName).DateCreated
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 28.10.2014 в 10:32
Alex_ST Дата: Вторник, 28.10.2014, 10:41 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
ЧУДЕСА: при тестировании случайно выяснил, что встроенное свойство файла Creation date почему-то (по крайней мере у меня) возвращает какую-то левую дату в отличие от свойства файла DateCreated, считываемого из файловой системы!!! shock
[vba]
Код
Sub Cr_Dat_Compare()
Debug.Print CreateObject("Scripting.FileSystemObject").GetFile(ThisWorkbook.FullName).DateCreated
Debug.Print ThisWorkbook.BuiltinDocumentProperties("Creation date")
End Sub
[/vba]
Специально, чтобы выяснить, в каком встроенном свойстве файла записана дата его создания, наскоро слепил процедурку[vba]
Код
Private Sub BuiltinDocumentProperties_VIEW_ALL()   ' просмотр всех имеющихся BuiltinDocumentProperties
    Dim DocProp As DocumentProperty, sDocPropVal$
    On Error Resume Next
Debug.Print "ThisWorkbook contains " & ThisWorkbook.BuiltinDocumentProperties.Count & " BuiltinDocumentProperties :"
    For Each DocProp In ThisWorkbook.BuiltinDocumentProperties
       sDocPropVal = "Empty": sDocPropVal = DocProp.Value
Debug.Print DocProp.Name & " = " & sDocPropVal
    Next
End Sub
[/vba]НЕ НАШЁЛ!!! :'(



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеЧУДЕСА: при тестировании случайно выяснил, что встроенное свойство файла Creation date почему-то (по крайней мере у меня) возвращает какую-то левую дату в отличие от свойства файла DateCreated, считываемого из файловой системы!!! shock
[vba]
Код
Sub Cr_Dat_Compare()
Debug.Print CreateObject("Scripting.FileSystemObject").GetFile(ThisWorkbook.FullName).DateCreated
Debug.Print ThisWorkbook.BuiltinDocumentProperties("Creation date")
End Sub
[/vba]
Специально, чтобы выяснить, в каком встроенном свойстве файла записана дата его создания, наскоро слепил процедурку[vba]
Код
Private Sub BuiltinDocumentProperties_VIEW_ALL()   ' просмотр всех имеющихся BuiltinDocumentProperties
    Dim DocProp As DocumentProperty, sDocPropVal$
    On Error Resume Next
Debug.Print "ThisWorkbook contains " & ThisWorkbook.BuiltinDocumentProperties.Count & " BuiltinDocumentProperties :"
    For Each DocProp In ThisWorkbook.BuiltinDocumentProperties
       sDocPropVal = "Empty": sDocPropVal = DocProp.Value
Debug.Print DocProp.Name & " = " & sDocPropVal
    Next
End Sub
[/vba]НЕ НАШЁЛ!!! :'(

Автор - Alex_ST
Дата добавления - 28.10.2014 в 10:41
krosav4ig Дата: Вторник, 28.10.2014, 11:23 | Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Alex_ST, свойство Creation date excel записывает сразу при создании книги (открытия excel) еще до сохранения и никогда не перезаписывается, свойство файла DateCreated записывается при первом сохранении этого файла. Если открыть старый файл и сохранить его как, то запишется только DateCreated. Вот и вся магия


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеAlex_ST, свойство Creation date excel записывает сразу при создании книги (открытия excel) еще до сохранения и никогда не перезаписывается, свойство файла DateCreated записывается при первом сохранении этого файла. Если открыть старый файл и сохранить его как, то запишется только DateCreated. Вот и вся магия

Автор - krosav4ig
Дата добавления - 28.10.2014 в 11:23
Alex_ST Дата: Вторник, 28.10.2014, 11:34 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Creation date excel записывает сразу при создании книги (открытия excel)
Ну, ну... У меня в только что созданной новой книге (да и вообще в любой!) встроенное свойство даёт 25.01.2002 19:21:33
Т.е., похоже, что это дата и время создания не файла, а установленной у меня версии Excel-2003
(и нафига это, интересно, кому-то нужно?)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Creation date excel записывает сразу при создании книги (открытия excel)
Ну, ну... У меня в только что созданной новой книге (да и вообще в любой!) встроенное свойство даёт 25.01.2002 19:21:33
Т.е., похоже, что это дата и время создания не файла, а установленной у меня версии Excel-2003
(и нафига это, интересно, кому-то нужно?)

Автор - Alex_ST
Дата добавления - 28.10.2014 в 11:34
Alex_ST Дата: Вторник, 28.10.2014, 11:37 | Сообщение № 18
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Упс! Проверил на свежесозданном и даже ещё не сохранённом файле в Excel-2010...
Те же самые 25.01.2002 19:21:33
Да... Тогда 2010 ещё точно не существовал даже в планах.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеУпс! Проверил на свежесозданном и даже ещё не сохранённом файле в Excel-2010...
Те же самые 25.01.2002 19:21:33
Да... Тогда 2010 ещё точно не существовал даже в планах.

Автор - Alex_ST
Дата добавления - 28.10.2014 в 11:37
krosav4ig Дата: Вторник, 28.10.2014, 11:39 | Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
а может у вас батарейка 2032 сдохла и время сбилось?
хотя, тут скорее всего дело в чем-то другом, если это была бы батарейка, то время бы шло.


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 28.10.2014, 11:50
 
Ответить
Сообщениеа может у вас батарейка 2032 сдохла и время сбилось?
хотя, тут скорее всего дело в чем-то другом, если это была бы батарейка, то время бы шло.

Автор - krosav4ig
Дата добавления - 28.10.2014 в 11:39
Alex_ST Дата: Вторник, 28.10.2014, 11:54 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
ВЪЕХАЛ!
25.01.2002 19:21:33 - это параметр "Дата создания содержимого" шаблона новой книги - файла Книга.xlt, лежащего в XLSTART рядом с Personal.xls
Я этот файл таскаю за собой с компа на комп, с системы на систему, из Офиса в Офис, вполне может быть, с 2002 года...
(и нафига это, интересно, кому-то нужно?)

__________________________________
батарейка 2032 сдохла и время сбилось?
Зачем обижать то? Я же не лох педальный с маникюром-педикюром чтобы сдохшую батарейку при старте системы не заметить, да и не верное системное время за одно.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеВЪЕХАЛ!
25.01.2002 19:21:33 - это параметр "Дата создания содержимого" шаблона новой книги - файла Книга.xlt, лежащего в XLSTART рядом с Personal.xls
Я этот файл таскаю за собой с компа на комп, с системы на систему, из Офиса в Офис, вполне может быть, с 2002 года...
(и нафига это, интересно, кому-то нужно?)

__________________________________
батарейка 2032 сдохла и время сбилось?
Зачем обижать то? Я же не лох педальный с маникюром-педикюром чтобы сдохшую батарейку при старте системы не заметить, да и не верное системное время за одно.

Автор - Alex_ST
Дата добавления - 28.10.2014 в 11:54
Мир MS Excel » Вопросы и решения » Вопросы по VBA » вставка Даты создания файла в ячейку (Формулы/Formulas)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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