Статьи из блога
Как изменить дату создания документа
Этот вопрос однажды мне задал один человек, но я не смог найти на него ответа. Позже, мне прислали ссылку то ли на специальную программу, то ли на программное решение. Не могу сейчас вспомнить, да это и не важно.
На самом деле, даты создания, изменения или последнего открытия документа являются встроенными свойствами любого файла и изменить их так просто не удастся.
Но можно воспользоваться двумя способами изменения даты создания или изменения документа (да, и любого файла).
Первый способ - программный на VB. Это решение я нашел на сайте Microsoft в статье
Option Explicit ' функции преобразования формата даты Private Declare Function SystemTimeToFileTime& Lib "kernel32" (lpSystemTIME As SYSTEMTIME, lpFileTime As FILETIME) Private Declare Function FileTimeToSystemTime& Lib "kernel32" (lpFileTime As FILETIME, lpSystemTIME As SYSTEMTIME) ' функции работы с файлами Private Declare Function lopen& Lib "kernel32" Alias "_lopen" (ByVal lpFileName As String, ByVal wReadWhite As Long) Private Declare Function lclose& Lib "kernel32" Alias "_lclose" (ByVal hFile As Long) Private Declare Function SetFileTime& Lib "kernel32" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) ' функция для анализа ошибок Private Declare Function GetLastError& Lib "kernel32" () ' для хранения даты во внутреннем формате Private Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type ' для хранения даты в системном формате Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type Private Sub Form_Load() Dim SysTime As SYSTEMTIME, NowTime As FILETIME Dim FileName$, handleF&, wReadWrite&, k&, k1& ' дата в системном формате SysTime.wYear = 2008 SysTime.wMonth = 6 SysTime.wDay = 9 SysTime.wHour = 7 SysTime.wMinute = 18 SysTime.wSecond = 24 ' преобразование даты во внутренний двоичный формат k& = SystemTimeToFileTime(SysTime, NowTime) ' ' имя файла - он должен существовать FileName$ = "C:\d.txt" 'это пример - Вы можете изменить на путь к свому файлу ' Работа с файлами только средствами функций API ' ВНИМАНИЕ! Для изменения атрибутов файла, ' он должен быть открыт в режиме "разрешения ' записи", например: режим "чтение-запись" ' Const OF_READWRITE& = 2 wReadWrite& = 2 ' Открытие файла handleF& = lopen&(FileName$, wReadWrite&) ' запись новых атрибутов даты k& = SetFileTime&(handleF&, NowTime, NowTime, NowTime) ' была ли ошибка? Можно проверить k1& = GetLastError ' код ошибки ' закрытие файла Call lclose(handleF&) End Sub
Второй способ - использование специальных программ. Например, программы
С помощью этой программки можно изменить как дату (и время) создания файла, так и дату его изменения или последнего открытия. Простая программа, с интуитивно понятным интерфейсом.
Может быть, кто-то из читателей сайта знает другие способы изменения атрибутов документа, кроме описанных в заметке?
Метки: макросы | программы
Просмотров: 122313
Подписаться на комментарии по RSS
Версия для печати
Еще записи по вопросам использования Microsoft Word:
- 10 вопросов и ответов по редактору Word (1 часть)
- 25 + лучших бесплатных программ для создания слайд-шоу в 2022 году
- 3 способа очистки списка недавно открытых документов
- 45 лучших бесплатных программных инструментов для редактирования видео в 2022 году
- Microsoft Office 2019 - особенности, где скачать
- Microsoft Office 2019 Professional Plus для Windows и Mac OS
- Office 2007 и бесплатный переход на Office 2010
- Ribbon XML Editor — программа редактирования интерфейса Word 2007, 2010
- RuStore: откройте двери в мир российских мобильных приложений
- Word 2007: добавляем свою вкладку и свои команды
- Word 2007: полотно, рисунки, линии
- Word 2007: смена формата сохранения файла
- Word 97 - решение проблемы с отображением символов на линейке
- Абзац с цветным фоном
- Автоматизация текстового набора в Word
- Автоматическая запись макроса
- Автоматическая нумерация билетов
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Автотекст и Word 2007
- Автотекст с последовательной нумерацией
- Азбука MS Office 2007
- Белый текст на синем фоне в Word 2007
- Будущее в проектировании и автоматизация разработки проектов - Онлайн конструктор строительной документации
Комментариев: 35
Мне кажется, что для таких операций больше подойдет файловый менеджер, например DISCo Commander (http://www.disco.ru/_files/dc53.exe).
Там эта операция выполняется очень удобно: File - File Attributes:
http://i34.tinypic.com/jfarlj.png
В Total Commander очень просто изменяются атрибуты файла: в меню Файл-Изменить атрибуты и все...
На vb писать макросы неудобно, а пользоваться спец. софтом для этого лучше имхо, потому что меньше проблем с кодировкой символов, имхо.
А зачем менять дату документа?
Можно создать новый документ и скопировать в него весь текст из ворда.
Спасибо!
А если таких документов 5000! что по одному открывать?, а после тотал коммндера инфа о создателе-владельце файла все равно остается.
Total не меняет дату создания, он меняет строку "изменен"!!!!!!!
В любом случае, насколько мне известно, понятия "дата создания файла" и "дата создания документа" понятия разные. Первое обеспечивается средствами файловой системы, и именно здесь Far, TimeStmp by J.Berkes и подобные программы могут помочь, второе является атрибутом документа, который хранится в самом содержимом файла, обеспечивается структурой .doc, и временные штампы ставит уже непосредственно Word.
По-крайней мере, в формате word 2003 это так. docx, тот что из word 2007, вообще сделан в виде xml-структуры, из этого могу сделать предположение, что время хранится в чём-то наподобие meta-данных, так же в самом файле.
А как изменить в MS Excel именно дату создания документа?
Внешними средствами (изменение системной даты, утилиты типа SetFileDate и т.п.) это сделать не удается. А надо.
как изменить дату в программе "компас"? подскажите пожалуйста!
to stranger_jack
с Excel не работаю давно, пользуюсь OpenOffice. В нём в диалоге свойств файла (Файл-Свойства) на первой закладке есть кнопка Сбросить - устанавливает текущее время и дату в качестве времени и даты создания документа. Пробуйте! Но не забудьте поменять и время изменения файла той же SetFileDate - это время хранится в файловой системе в отличие от даты создания документа, хранящейся внутри файла. Изменяя одно, не меняешь другое.
подскажите пожалуйста как изменить даты создания таблиц/запросов/форм/отчётов в акцессе (оччень много связей и тд и тп) =(
TotalCommander меняет обе даты: дату создания и модификации документа!
В FAR`e - Ctrl+a и меняйте
Все не так просто как кажется, Например в программе Компас изменить дату создания модели я не знаю как
Сохранить как, или изменение имени файла тут не помогает.
Если посмотреть в вкладку Файл->Информация о документе. Там все равно будет написано, реальное время создания файла.
А не вариант поменять дату на компе, отключить инет, создать новый файл, копировать всё со старого и перенести в новый? И вот Вам документ с любой датой.
А как например вместо даты поставить надпись "Давно" или "А какая раздница? =)"
Эта программа меняет дату во вкладке "общие", но в "сводке" в подробной информации дата не меняется.
Делайте через Total Commander, файлы-изменить атрибуты-проставить дату и время как будет вам угодно, программа усе сделает и будете довольны. Проверено! Рекомендую.
изменить системную дату (часы снизу справа) на компьютере и пересохранить документ с новой датой
Как раз только что поменял "дату/время создания файла" Total Commander'ом.
Постоянно пользовался Total Commander'ом для изменения "даты/времени изменения файла".
Но вот настоятельно понадобилось поменять "дату/время создания файла". Google'ом наткнулся на эту страницу, а в первых комментариях - на упоминание всё того же Total Commander'а.
Через Меню выполняете Файлы>Изменитьатрибуты...
В появившемся окне среднее поле отвечает за изменение "даты/времени изменения файла".
В следующем (нижнем) поле можно установить/изменить множество других атрибутов, среди которых "дата/время создания файла": кнопка Добавить атрибут и далее выбираете или устанавливаете, что Вам нужно в появившихся полях.
Написано для Total Commander 7.04a PowerPack 2.99.
Пусть сейчас 21.05.2012 год.
Устанавливаем в Винде дату 06.09.2000, создаем файл .doc, вносим изменения и сохраняем файл. В результате все времена: создания содержимого, изменения содержимого, создания файла и его изменения будут 06.09.2000. Теперь, если поставить 2001 год, и скопировать файл, то времена создания и изменения содержимиого останутся 06.09.2000, а времена создания и изменения файла станут 06.09.2001.
Так по одному и с невысокой производительностью можно обработать и весь архив, как иначе не используя особый софт изменять времена создания и изменения содержимиого не знаю.
программа SetFileDate изменяет только дату создания файла, но в свойствах файла в вкладке подробно не изменяется дата создания текста и дату последнего изменения файла. Как изменить ?
если найдете то скинте на почту mixa150rus@yandex.ru
Уважаемые, просто используйте для этой цели старый добрый FAR manager , можно одновременно изменить все три параметра у сколько угодно файлов.
Чтобы изменить ДАТУ СОЗДАНИЯ ФАЙЛА, просто сделайте копию его и все, а подлинник удалить)))), после копию переименовать как был подлиник!!!
Как изменить дату сохдания СОДЕРЖИМОГО????
Извините, т.е СОЗДАНИЯ)))
Подскажите пожалуйста как изменить дату СОЗДАНИЯ СОДЕРЖИМОГО в Экселе????
Тотал Cоmmander меняет и дату создания и дату редактирования НО при копировании файла на флеху или пересылке по почте файлы автоматом сбрасываются на реальную дату создания! Будьте осторожны
как изменить дату в программе Waymeter
В файлах docx дата создания меняется так:
открываем тотал коммандер желательно из последних версий
встаем на файле который нам нужен изменить, жмем Ctrl+PageDown
откроется содержимое данного файла-архива
идем в папку: docProps и находим файл core.xml, жмем F4 и редактируем поле
2013-10-17T16:41:00Z
вставляем нашу дату, время высчитывается от UTC(то есть от европейского, для москвы это +3 или +4 в зависимости от времени года(лето или зима).
Закрываем блокнот, спросит сохранить, отвечаем да. Далее тотал запакует все это дело и открываем уже наш документ вордом. Проверяем дату создания на вкладке файл самого ворда.
Перед манипуляциями с файлом, ЖЕЛАТЕЛЬНО сделать КОПИЮ его!
Удачи!
Если это презентация: в вкладке файл - подробности - поиск проблем - инспектор документов. Проведите проверку, будет найден автор или скрытые атрибуты, жмите "удалить все". После этого создание даты содержимого меняется на вашу сегодняшнюю, которую можно подправить почти любым файловым менеджером. Удачи!
брависимо - все реально рабтат
На Маке лучше всего менять дату с помощью File Multi Tool. Можно делать сдвиг или просто менять дату http://shipachev.com/how-to-change-creation-date/
Вы все усугубляете, я так сказать независимый ... да похрену... короче так
открываете нужный файл в блокноте (предварительно узнав дату в свойствах) ищете в поиске, меняете и сохраняете, никаких программ не нужно
Файл откроется в виде закорючек и кренделей но дата написана человеческим языком обычно в конце файла