![]() |
Excel 2010 - Как вставить в книгу дату ее последнего изменения?
Есть некая книга, которая периодически изменяется. Необходимо знать, когда она изменялась и автоматически вставлять эту дату где-нибудь на листе. Возможно ли это?
|
Меню "Вставка" - "Колонтитулы" (выбрать верхний или нижний) - "Текущая дата" - не подойдет?
|
okshef, при открытии сразу заменяет на текущую, старую не увидеть.
Вычитал макрос по поводу даты, можно время добавить также: В модуль ЭтаКнига Код:
Option Explicit |
Twister83, угу. Только данные брать другие. Примерно так:
Код:
Private Sub Workbook_Open() |
Iska, что-то ошибки выдает при компиляции, код вставлять без изменений?
|
Twister83, я пробовал на имеющемся у меня Office 2003, так что, теоретически, в Вашей версии вполне могут быть отличия в объектной модели. Перед первым использованием рабочая книга должна быть сохранена.
|
Всем спасибо за ответы! Есть все же несколько непоняток.
Iska, в вашем примере, как вывести дату в ячейку, ту же А1, как в примере Twister83 activesheet.range("A1") И как запустить потом этот макрос? Или он будет выполняться автоматически при сохранении книги? |
Цитата:
Поскольку код находится в модуле «ЭтаКнига» в процедуре «Workbook_Open()» — он будет (при не отключённых макросах) выполняться каждый раз при открытии рабочей книги. Если нужно, чтобы код выполнялся и при сохранении — можно добавить аналогичный код в процедуру «Workbook_BeforeSave()». Но, естественно, тут уже надо будет предусмотреть тот факт, что перед первым сохранением свойство «Last Save Time» будет попросту недоступно. |
Iska, очень информативно, спасибо огромное!
|
Цитата:
|
Цитата:
|
А как вставить дату в колонтитул?
|
Код:
Private Sub Workbook_Open() |
Iska,
Не работает... Если заменить CenterHeader на CenterFooter, то по идее, должно отобразиться в нижнем колонтитуле. Но ничего нет ни сверху ни снизу |
Судя по PageSetup.CenterFooter Property (Excel) — объектная модель не менялась.
Описывайте подробно что и как делали, как проверяли. что не работает. Буквально. |
Цитата:
|
Odisseus, попробуйте вставить код в процедуру Workbook_BeforeClose
|
Цитата:
P.S. Прошлый раз ведь проблем с этим не было? |
|
Цитата:
|
Цитата:
|
|
Цитата:
Будучи уже в редакторе, сделайте двойной щелчок по «ThisWorkbook» в окне проекта: для открытия модуля рабочей книги. |
Нюансы, блин)) Извиняюсь за тупость. Заработало.
А как можно добавить свой текст в этот центральный колонтитул. После отработки макроса, весь текст в нем заменяется на даты изменения. |
Цитата:
|
Цитата:
|
Код:
… |
Iska, Большое спасибо!
|
Цитата:
Макрос добавил в файл, но почему то его название не отображается при вставке макроса на страницу...((( |
Цитата:
|
|
Цитата:
Grey_rnd, попробуйте (не проверялось. ибо не на чем): Код:
… |
Цитата:
Допустим файл называется Отчет по обследованиям.xlsx, прошу подскажите как мне исправить представленный Вами макрос, что б все работало... |
Макрос создает колонтитул активного листа до начала печати
Скрытый текст
Код:
Private Sub Workbook_BeforePrint(Cancel As Boolean) |
okshef, мне бы просто дату в самом документе, потому как обычно используется электронный вид.
|
Замените на
Код:
.FirstPage.CenterHeader.Text = Format(ActiveWorkbook.BuiltinDocumentProperties(12), "dd.mm.yyyy") |
Цитата:
|
Код:
Worksheets("Sheet1").Range("D6")=Format(ActiveWorkbook.BuiltinDocumentProperties(12), "dd.mm.yyyy") |
okshef, Куда вставить последний приведенный Вами код?
Код:
Worksheets("Sheet1").Range("D6")=Format(ActiveWorkbook.BuiltinDocumentProperties(12), "dd.mm.yyyy") Код:
.FirstPage.CenterHeader.Text = Format(ActiveWorkbook.BuiltinDocumentProperties(12), "dd.mm.yyyy") Что то не срабатывает? что делаю неправильно? Alt+f11, выбираю Module, вставляю код, сохраняю, сохраняю файл как файл с макросом. Далее Вид - Макросы...а внутри пусто. Он же должен там присутствовать когда добавлен? PS 1.Как закоментировать некоторые строки, что б временное не участвовали в процессе?) |
Цитата:
|
Что то нет никаких движений...
Вот скопированный код: Скрытый текст
Код:
Private Sub Workbook_BeforePrint(Cancel As Boolean) Что делаю не так? Макросы вроде включил в настройках... |
Grey_rnd, многое «не так». Не так вставлено. И не туда вставлено.
1. Вставлять следует не в модуль «\Modules\Module1», а в модуль Рабочей книги «ЭтаКнига»: ![]() 2. Вставляйте такой код (остальное Вам для изложенной выше хотелки не нужно): Код:
Option Explicit |
Цитата:
2. В документ макрос вставлять не надо, я так понимаю (через вид-макросы)? Он выполняется автоматически при открытии файла? 3. Сделал как вы сказали, чет не пахат...)))) |
Grey_rnd, создайте копию вашего файла без данных, но с макросом, и выложите уже, наконец...
|
На конец не буду, а в теме выкладываю... Прошу посмотреть и рассказать чего я сделал не так...(
|
Все работает. Просто отправьте документ (фрагмент) на печать и увидите.
|
Цитата:
Просто что бы сторонний человек открыл файл и увидел, что дата последней актуализации тогда то.. |
Цитата:
Цитата:
Цитата:
Скрытый текст
![]() |
Цитата:
Вроде логично привязать к сохранению - пользователь сохранил документ, о чем тут же осталась запись в ячейке H11. Ведь документ могут сохранить, но ни разу не напечатать. Код
Цитата:
|
Цитата:
|
Время: 12:09. |
Время: 12:09.
© OSzone.net 2001-