Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 440

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!

Проблема:
Необходимо, чтобы в нижнем колонтитуле отображалась текущая дата, а также номер страницы и общее количество страниц в документе MSWord.

пример:
Дата: 17.07.2010 стр. 1 из 25

Елена Викторовна Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задала: Елена Викторовна (статус: Посетитель)
Вопрос отправлен: 17 июля 2010, 14:29
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Eugeny Carrera

Здравствуйте, Елена Викторовна!

Ставите режим редактирования колонтитулов.
Потом вкладка "Вставка"
Там ищете кнопку "Дата и время" и выбираете нужный формат, ставите "галочку автоматически обновлять" и все.

Ответ отправил: Eugeny Carrera (статус: 1-ый класс)
Время отправки: 18 июля 2010, 21:54
Оценка за ответ: -1

Комментарий к оценке: мне необходимо именно программно реализовать эту задачу.

про настройки ворда я и так знаю.

Мини-форум вопроса

Всего сообщений: 6; последнее сообщение — 27 июля 2010, 02:53; участников в обсуждении: 3.
Егор

Егор (статус: 10-ый класс), 17 июля 2010, 15:01 [#1]:

это же можно сделать с помощью встроенных возможностей ворда - или использовать стандартные возможности вера не позволяет?
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
Елена Викторовна

Елена Викторовна (статус: Посетитель), 17 июля 2010, 15:06 [#2]:

мне необходимо именно программно это сделать.

Буду признательна за помощь.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 25 июля 2010, 23:00 [#3]:

Документ MS Word произвольный или Вы создаете его в своей программе на Delphi?
Елена Викторовна

Елена Викторовна (статус: Посетитель), 26 июля 2010, 16:37 [#4]:

Всем спасибо за попытку помочь.
Спустя девять дней, решение было в конце концов мною было найдено.
Егор

Егор (статус: 10-ый класс), 26 июля 2010, 18:40 [#5]:

ну так поделитесь решением. нам же тоже интересно. а кому-то, может быть, и полезно будет
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
Елена Викторовна

Елена Викторовна (статус: Посетитель), 27 июля 2010, 02:53 [#6]:

незабываем прописать в const
wdFieldNumPages = 26;
wdFieldDate = 31;
wdFieldPage = 33;
 
 
MSword.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageFooter; // отккрываем нижний колонтитул
 
MSword.Selection.TypeText (Text:='   Дата: ');
MSword.ActiveWindow.Selection.Fields.Add(MSword.ActiveWindow.Selection.Range, Type:=wdFieldDate); //вставляемПолеДаты
MSword.Selection.TypeText (Text:=#9#9#9#9#9 + 'Всего страниц: ');
MSword.ActiveWindow.Selection.Fields.Add(MSword.ActiveWindow.Selection.Range, Type:=wdFieldNumPages);
//вставляемПолеЧислаСтраниц
MSword.Selection.TypeText (Text:=#9#9#9#9#9#9#9#9#9#9#9 + 'Лист: ');
MSword.ActiveWindow.Selection.Fields.Add(MSword.ActiveWindow.Selection.Range, Type:=wdFieldPage);
//вставляемПолеНомераСтраницы
 
MSword.ActiveWindow.ActivePane.View.SeekView := wdSeekMainDocument; // закрываем нижний колонтитул

вот собственно и все.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:49
Выполнено за 0.03 сек.