Поделиться через

Office меняет дату изменения файла xls при открытии

Анонимные
2015-12-04T06:55:57+00:00

Есть два ПК с, казалось бы, одинаковыми инсталляциями Win7 и MS Office 2010. На одном ПК открывая файл xls в проводнике вижу что дата последнего изменения файла изменилась на текущую. Закрываю Excel без сохранения - дата меняется на первоначальную. На втором ПК при открытии файла дата не меняется.

Мне необходимо считывать дату последнего изменения файлов Excel средствами VBA. В итоге на одном ПК макрос работает корректно, на втором нет.

Кто-то сталкивался с таким эффектом? От чего зависит такое поведение офиса? Настройки самого офиса, реестр, установленные патчи? Можно добиться того, что бы дата изменения не менялась при открытии?

Или, может, подскажите способ получения корректных данных о последнем изменении средствами VBA?

Microsoft 365 и Office | Excel | Для дома | Windows
Microsoft 365 и Office | Excel | Для дома | Windows

Семейство программного обеспечения электронной таблицы Майкрософт с инструментами для анализа, диаграммы и обмена данными.

Заблокированный вопрос. Этот вопрос был перенесен из сообщества службы поддержки Майкрософт. Вы можете проголосовать о его полезности, но не можете добавлять комментарии или ответы, а также подписаться на этот вопрос.

Комментариев: 0 Без комментариев

Ответы: 5

Сортировать по: Наиболее полезные
  1. Анонимные
    2015-12-11T13:21:24+00:00

    Внимательно изучаем серию статей:

    Функция FileDateTime

    Начало работы с VBA в Excel 2010

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев
  2. Анонимные
    2015-12-11T06:40:24+00:00

    Если привести файл к формату xlsx, то проблема с изменением даты снимается. Файл открывается без изменения даты последнего изменения. Но тут другая засада - само изменение формата является изменением документа. Со всеми вытекающими... А у меня несколько тонн именно xls-файлов, которые надо подкорректировать и преобразовать в pdf с сохранением данных о датах создания и последнего изменения. Не хочется думать что даты придется править руками...

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев
  3. Анонимные
    2015-12-10T17:00:10+00:00

    Приведите старый формат файла к новому (xlsx) проверьте и напишите результат.

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев
  4. Анонимные
    2015-12-10T16:12:24+00:00

    В моем случае происходит следующее. Вот эти 2 файла в проводнике показывают дату изменения 3 и 8 декабря соответственно:

    Открываем файл xls. В проводнике дата изменения файла поменялась на текущую. Не скрытой копии, а именно самого файла. При этом, сам Excel показывают корректную дату изменения. Если Excel закрыть, то дата в проводнике изменится на изначальную:

    А теперь открываем файл xlsm. В этом случае дата в проводнике не меняется:

    Мне необходимо получить средствами VBA в открытом файле дату последнего изменения. В случае с xlsm проблем нет. А вот в случае с xls все известные мне способы (FileDateTime, GetDetailsOf, ModifyDate) возвращают текущую дату.

    Или добиться того, что бы при открытии xls дата в проводнике не менялась. Вот только как это сделать пока не понятно...

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев
  5. Анонимные
    2015-12-06T13:31:37+00:00

    Не совсем ясен Ваш вопрос.

    При открытии файла, в папке его расположения открывается скрытая копия с текущей датой:

    в котором сохраняются текущие изменения Вами документа, при сохранении (нажатии кнопки "Сохранить"), все сделанные изменений обновляются в Вашем основном файле.

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев