Как узнать когда создан документ excel

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 107


Репутация:

2

±

Замечаний:
0% ±


Excel 2010

Утро сказывается… =)) Не проснулся я. =) Решение найдено.
Вернее понял почему найденное решение в инете не заработало у меня =)))
Если кому надо ответ на моем примере:

[vba]

Код

ActiveWorkbook.Sheets(«Список»).Range(«D» & sh) = FileDateTime(strDirPath & strFileName)

[/vba]

Я банально пробовал использовать только strFileName а не полный пусть. +) В результате чего у меня не работало… =))
Тему можно закрыть, удалить и т.д. =))
Всем спасибо за внимание =)))

 

borro

Пользователь

Сообщений: 198
Регистрация: 01.01.1970

#1

12.12.2018 17:09:46

Здравствуйте!

Попытался кодом

Код
ActiveWorkbook.BuiltinDocumentProperties("Creation Date")

получить дату создания файла и понял, что это так называемая Дата создания содержимого.

Как же у активной книги получить дату создания файла?

желаю всем счастья

 

БМВ

Модератор

Сообщений: 21383
Регистрация: 28.12.2016

Excel 2013, 2016

borro,  можете свою мысль изложить более доходчиво? Содержимое файла создается одновременно с его созданием.

По вопросам из тем форума, личку не читаю.

 

Wiss

Пользователь

Сообщений: 1028
Регистрация: 08.11.2016

FileDateTime (ActiveWorkbook.FullName)
Вру, это дата последнего изменения.

Изменено: Wiss12.12.2018 17:22:08

Я не волшебник, я только учусь.

 

Ігор Гончаренко

Пользователь

Сообщений: 13746
Регистрация: 01.01.1970

#4

12.12.2018 17:21:19

Код
MsgBox CreateObject("Scripting.FileSystemObject").getfile(ThisWorkbook.Path & "" & ThisWorkbook.Name).DateCreated

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

borro

Пользователь

Сообщений: 198
Регистрация: 01.01.1970

#5

12.12.2018 17:22:52

Цитата
БМВ написал:
Содержимое файла создается одновременно с его созданием.

вот эти даты, видимые через свойства файла:

Прикрепленные файлы

  • dates.jpg (88.72 КБ)

желаю всем счастья

 

БМВ

Модератор

Сообщений: 21383
Регистрация: 28.12.2016

Excel 2013, 2016

#6

12.12.2018 17:35:33

Оно?

Код
ActiveWorkbook.BuiltinDocumentProperties("Last save time")

Изменено: БМВ12.12.2018 17:37:36

По вопросам из тем форума, личку не читаю.

 

borro

Пользователь

Сообщений: 198
Регистрация: 01.01.1970

Ігор Гончаренко, спасибо. Похоже она. А после этого создания объекта(CreateObject) наверно надо производить его деструкцию. Как?

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#8

12.12.2018 17:41:51

Цитата
БМВ написал: «Last save time»

Скорее ТС нужно:
«Creation Date»

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

borro

Пользователь

Сообщений: 198
Регистрация: 01.01.1970

#9

12.12.2018 17:43:21

Цитата
JayBhagavan написал:
Скорее ТС нужно:»Creation Date»

Спасибо. Это я уже пробовал(первое сообщение), не то

желаю всем счастья

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

borro, я понял, что Вам именно это нужно исходя из того, что Вы выделили на скрине.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Казанский

Пользователь

Сообщений: 8839
Регистрация: 11.01.2013

#11

12.12.2018 18:40:37

Цитата
borro написал:
Это я уже пробовал(первое сообщение), не то

Отличаются на секунды :) Вот для моего PERSONAL.XLSM

Код
?createobject("scripting.filesystemobject").getfile(thisworkbook.FullName).datecreated
10.09.2015 0:04:26 
?thisworkbook.BuiltinDocumentProperties("Creation Date")
10.09.2015 0:04:07 
?thisworkbook.BuiltinDocumentProperties("Last Save Time") 'для сравнения
09.09.2018 15:23:56 
Цитата
borro написал:
А после этого создания объекта(CreateObject) наверно надо производить его деструкцию

Не надо. VBA сам об этом позаботится.

Изменено: Казанский12.12.2018 18:44:13

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#12

12.12.2018 19:01:21

Доброе время суток

Цитата
Казанский написал:
Отличаются на секунды

Может ТС под датой создания подразумевает дату извлечения из архива или сохранения почтового вложения?

 

borro

Пользователь

Сообщений: 198
Регистрация: 01.01.1970

#13

13.12.2018 09:09:56

Доброе утро! Всем спасибо. Нет, я имел в виду дату создания файла

желаю всем счастья

Определение даты и времени создания или последнего изменения любого файла в VBA Excel. Функция FileDateTime — описание, синтаксис, примеры.

Описание

Определение функции FileDateTime:

FileDateTime — это функция, которая возвращает дату и время создания или последнего изменения любого файла по его полному имени. Тип возвращаемых данных — Variant (Date).

Формат отображения даты и времени зависит от региональных настроек системы. Российский формат — dd.mm.yyyy h:nn:ss.

Из наблюдений можно отметить, что функция FileDateTime, как правило, возвращает дату и время, которые отображаются в папке проводника справа от выбранного файла в столбце «Дата изменения» или «Дата», как на скриншоте из третьего примера.

Синтаксис

pathname — полное имя файла, включающее букву диска, вложенные папки и краткое имя файла с расширением.

Примеры с функцией FileDateTime

Пример 1

Есть файл «Отчет.xlsx» по адресу «C:UsersEvgeniyDesktop», который был изменен ‎13 ‎августа ‎2022 ‎г., ‏‎0:55:05 (окно «Свойства:Отчет.xlsx»). Проверяем, что будет отображено в информационном окне MsgBox при использовании переменных разного типа для присвоения значений, возвращенных функцией FileDateTime:

Sub Primer1()

Dim d As Date, s As String, n As Double

d = FileDateTime(«C:UsersEvgeniyDesktopОтчет.xlsx»)

MsgBox d  ‘Результат: 13.08.2022 0:55:05

s = FileDateTime(«C:UsersEvgeniyDesktopОтчет.xlsx»)

MsgBox s  ‘Результат: 13.08.2022 0:55:05

n = FileDateTime(«C:UsersEvgeniyDesktopОтчет.xlsx»)

MsgBox n  ‘Результат: 44786,0382523148

End Sub

Пример 2

Примеры отображения в VBA Excel только даты, возвращенной функцией FileDateTime:

Sub Primer2()

Dim d As Date

d = FileDateTime(«C:UsersEvgeniyDesktopОтчет.xlsx»)

MsgBox Format(d, «Short Date»)  ‘Результат: 13.08.2022

MsgBox Format(d, «dd.mm.yy»)  ‘Результат: 13.08.22

End Sub

Пример 3

Есть папка с файлами:

Необходимо из кода VBA Excel получить список файлов в папке «C:UsersEvgeniyDesktopНовая папка», пройтись по списку файлов циклом For Each… Next и записать на активный рабочий лист следующую информацию:

  • № п/п — в первый столбец со второй строки;
  • имя файла — во второй столбец;
  • дату и время изменения файла — в третий столбец;
  • создать строку заголовков — «№ п/п», «Имя» и «Дата»;
  • осуществить автоподбор ширины столбцов и добавить границы ячеек.

Для получения списка файлов в заданной папке будем использовать метод FileSystemObject.GetFolder:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

Sub Primer3()

Dim myPath As String, myFolder As Folder, myFile As File, n As Integer

‘Записываем в переменную myPath полное имя папки

myPath = «C:UsersEvgeniyDesktopНовая папка»

    ‘Создаем новый экземпляр FileSystemObject

    Dim fso As New FileSystemObject

    ‘Присваиваем переменной myFolder ссылку на объект Folder

    Set myFolder = fso.GetFolder(myPath)

    ‘Проверяем, есть ли файлы в папке myFolder

    If myFolder.Files.Count = 0 Then

        MsgBox «В папке «» & myPath & «» файлов нет»

        Exit Sub

    End If

    ‘Записываем номер по порядку в первый столбец активного листа,

    ‘имя файла — во второй столбец,

    ‘дату изменения файла — в третий столбец.

    For Each myFile In myFolder.Files

        n = n + 1

        Cells(n + 1, 1) = n

        Cells(n + 1, 2) = myFile.Name

        Cells(n + 1, 3) = FileDateTime(myFile.Path)

    Next

    ‘Заполняем строку заголовков

    With Cells(1, 1)

        .Value = «№ п/п»

        ‘Автоподбор ширины столбца

        .EntireColumn.AutoFit

        ‘Полужирное начертание

        .Font.Bold = True

        ‘Выравнивание значения по центру

        .HorizontalAlignment = xlCenter

    End With

    With Cells(1, 2)

        .Value = «Имя»

        .EntireColumn.AutoFit

        .Font.Bold = True

        .HorizontalAlignment = xlCenter

    End With

    With Cells(1, 3)

        .Value = «Дата»

        .EntireColumn.AutoFit

        .Font.Bold = True

        .HorizontalAlignment = xlCenter

        ‘Добавляем границы ячеек

        .CurrentRegion.Borders.LineStyle = True

    End With

End Sub

Результат работы кода:

Если сравнить дату и время изменения файлов в папке проводника и в таблице Excel, то можно заметить, что время изменения файла «Certificate.pdf» разнится на 1 час. Непонятно, почему это происходит, так как в свойствах файла также указано время изменения, как в папке проводника:

Именно из-за этого случая я добавил словосочетание как правило в утверждение, что функция FileDateTime возвращает дату и время, которые отображаются в папке проводника справа от выбранного файла в столбце «Дата изменения» или «Дата», что означает — возможны исключения.


Как узнать дату создания файла

Любой файл в операционной системе Windows имеет постоянный набор обязательных атрибутов: имя, расширение, размер, дату создания и другие. Некоторые атрибуты, как имя или расширения, изменяемы, другие — как дата создания — остаются одинаковыми не зависимо от операционной системы.

Как узнать дату создания файла

Вам понадобится

  • — компьютер;
  • — интернет;
  • — программа Total Commander.

Инструкция

Найдите файл, атрибут которого вам интересен. Для удобства вы можете сделать это в «Моем компьютере». Кликните правой кнопкой мыши по значку файла и в выпадающем меню выберите пункт «Свойства» — обычно он самый последний. Данное меню отражает все основные параметры файлов, которые имеются на вашем компьютере. Также стоит отметить, что с помощью операционной системы можно узнать модель фотоаппарата, которым было сделано фото.

На вкладке «Общие» отображается информация обо всех атрибутах файла: его тип, название приложение, с которым файл ассоциирован, местоположение, его размер, дата создания, дата изменения и такие атрибуты, как «Только чтение», «Скрытый», «Архивный». Посмотрите дату создания файла в соответствующем разделе. Формат даты стандартный: день, месяц, год и точное время до секунд.

В других диспетчерах файлов эту операцию значительно упростили. Так, в программе Total Commander информация о дате создания файлов выводится в специальном столбце вслед за расширением и размером. Если вам нужно будет просмотреть дату создания какого-либо файла, используйте данное программное обеспечение. Найти можно на официальном сайте разработчиков wincmd.ru.

Дату создания файла нельзя изменить обычными средствами Windows, поэтому этот атрибут можно считать постоянным, и пользоваться им при произведении различных операций над файлами. Например, программа Total Commander позволяет отсортировать файлы по дате создания. Можно организовать поиск файлов, созданных в определенный день или не старше заданного количества дней, по всему винчестеру компьютера. Это пригодится, например, при лечении компьютера от вирусов.

Войти на сайт

или

Забыли пароль?
Еще не зарегистрированы?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Понравилась статья? Поделить с друзьями:
  • Как узнать когда был создан файл excel
  • Как узнать код активации word на компьютере
  • Как узнать когда был создан документ word
  • Как узнать код vba excel
  • Как узнать какой шрифт используется в word