Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - [решено] Excel 2010 - Как вставить в книгу дату ее последнего изменения?

Ответить
Настройки темы
2010 - [решено] Excel 2010 - Как вставить в книгу дату ее последнего изменения?

Аватара для Odisseus

Старожил


Сообщения: 257
Благодарности: 7


Конфигурация

Профиль | Отправить PM | Цитировать


Есть некая книга, которая периодически изменяется. Необходимо знать, когда она изменялась и автоматически вставлять эту дату где-нибудь на листе. Возможно ли это?

Отправлено: 20:48, 04-06-2011

 

Модератор


Moderator


Сообщения: 16826
Благодарности: 3244

Профиль | Сайт | Отправить PM | Цитировать


Меню "Вставка" - "Колонтитулы" (выбрать верхний или нижний) - "Текущая дата" - не подойдет?

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге


Отправлено: 20:53, 04-06-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для Twister83

Старожил


Сообщения: 439
Благодарности: 37

Профиль | Отправить PM | Цитировать


okshef, при открытии сразу заменяет на текущую, старую не увидеть.

Вычитал макрос по поводу даты, можно время добавить также:

В модуль ЭтаКнига
Код: Выделить весь код
Option Explicit

Private Sub Workbook_Open()
activesheet.range("A1").Value = Format(Date, "dd.mm.yyyy")

End Sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:45, 05-06-2011 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Twister83, угу. Только данные брать другие. Примерно так:
Код: Выделить весь код
Private Sub Workbook_Open()
    With ThisWorkbook.Worksheets.Item(1).Cells(1, 1)
        .Value = ThisWorkbook.BuiltinDocumentProperties.Item("Last Save Time")
        .NumberFormat = "dd/mm/yy h:mm;@"
    End With
End Sub
«ThisWorkbook» — ссылка на ту рабочую книгу, которая содержит данный макрос.
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:07, 05-06-2011 | #4


Аватара для Twister83

Старожил


Сообщения: 439
Благодарности: 37

Профиль | Отправить PM | Цитировать


Iska, что-то ошибки выдает при компиляции, код вставлять без изменений?

Отправлено: 10:40, 05-06-2011 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Twister83, я пробовал на имеющемся у меня Office 2003, так что, теоретически, в Вашей версии вполне могут быть отличия в объектной модели. Перед первым использованием рабочая книга должна быть сохранена.

Отправлено: 11:12, 05-06-2011 | #6


Аватара для Odisseus

Старожил


Сообщения: 257
Благодарности: 7

Профиль | Отправить PM | Цитировать


Всем спасибо за ответы! Есть все же несколько непоняток.
Iska, в вашем примере, как вывести дату в ячейку, ту же А1, как в примере Twister83 activesheet.range("A1") И как запустить потом этот макрос? Или он будет выполняться автоматически при сохранении книги?

Отправлено: 14:34, 05-06-2011 | #7


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Odisseus:
Iska, в вашем примере, как вывести дату в ячейку, ту же А1, как в примере Twister83 activesheet.range("A1") »
Как раз и выводится дата последнего сохранения («.BuiltinDocumentProperties.Item("Last Save Time")») рабочей книги, в которой находится данный макрос («ThisWorkbook»), в ячейку «A1» («.Cells(1, 1)») первого рабочего листа («.Worksheets.Item(1)»). Затем та же ячейка форматируется для правильного отображения даты («.NumberFormat = "dd/mm/yy h:mm;@"»).

Поскольку код находится в модуле «ЭтаКнига» в процедуре «Workbook_Open()» — он будет (при не отключённых макросах) выполняться каждый раз при открытии рабочей книги.

Если нужно, чтобы код выполнялся и при сохранении — можно добавить аналогичный код в процедуру «Workbook_BeforeSave()». Но, естественно, тут уже надо будет предусмотреть тот факт, что перед первым сохранением свойство «Last Save Time» будет попросту недоступно.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:26, 05-06-2011 | #8


Аватара для Odisseus

Старожил


Сообщения: 257
Благодарности: 7

Профиль | Отправить PM | Цитировать


Iska, очень информативно, спасибо огромное!

Отправлено: 21:51, 06-06-2011 | #9


Модератор


Moderator


Сообщения: 16826
Благодарности: 3244

Профиль | Сайт | Отправить PM | Цитировать


Цитата Iska:
Затем та же ячейка форматируется для правильного отображения даты »
достаточно это сделать один раз, а потом исключить из кода.

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге


Отправлено: 21:53, 06-06-2011 | #10



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - [решено] Excel 2010 - Как вставить в книгу дату ее последнего изменения?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - батник для проверки даты последнего изменения папки alex_dmn Скриптовые языки администрирования Windows 2 15-02-2011 20:32
Разное - [отзыв на книгу] Access 2010. Учебный курс Сеннов Андрей Светозарович Coutty Microsoft Office (Word, Excel, Outlook и т.д.) 1 12-01-2011 14:21
2003/XP/2000 - [решено] Microsoft Excel 2003 надо вставить подпись Ser6720 Microsoft Office (Word, Excel, Outlook и т.д.) 1 15-02-2010 03:19
MsOffice | Вставить дополнительную колонну в Excel Baber Программирование и базы данных 4 02-02-2006 21:45
Ваш сервер не возвращает дату последнего изменения! WorldWideWinner О сайте и форуме 1 05-08-2005 13:24




 
Переход