![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нумерация страниц для печати в Delphi. [Delphi, Windows]
alexey_public © (2006-02-13 14:50:00)Сначала посмотрел как работает макрос:
With ActiveSheet.PageSetup
.RightFooter = "&P"
End With
Я его ковертирую в следующее (только нужное) через OLE
var
WorkSheet:OleVariant;
...
WorkSheet.PageSetup.RightFooter := '&P';
В общем этот вариант вообще не работает по страницам, НО если туда вписать следующее
WorkSheet.PageSetup.RightFooter := '&[Страница]';
Т.е. тоже что он пишет и в самом диалоговом окне - то тогда получается интереснее - сначала он это печатает просто как текст, но стоит лишь войти в св-ва страницы и войти-выйти в нужный колонтитул ничего не меняя, но все сохраняя -то Excel моментально начинает печать номера страницы как ни в чем не бывало.
А самое интересное - если смотреть через макрос то там так и стоит эта же строчка
.RightFooter = "&P"
(2007-07-20 07:03:00) [1]Удалено модератором
(2007-07-19 05:45:00) [2]Удалено модератором
(2007-07-18 22:39:00) [3]Удалено модератором
(2006-09-18 14:54:00) [4]Удалено модератором
(2006-09-14 03:50:00) [5]Удалено модератором
(2006-09-11 22:59:00) [6]Удалено модератором
(2006-05-17 19:31:00) [7]Удалено модератором
AvRUS (2006-04-24 11:27:00) [8]Спасибо! :)
alexey_public (2006-02-27 10:42:00) [9]Есть!!!!!!!!!!!!!!!!!!!!
Работает!!!!!!!!!!!!!
Столь бурная радость объясняется тем, что данное решение я искал года эдак 4.....
shapm огромная благодарность! :-) (и не только от меня, но и от всех пользователей моего ПО, очень вовремя кстати - именно сегодня надо отдать один очень мелкий проект с как раз таки этой необходимой функцией).
Мжду прочим на многих форумах мой вопрос так и висит без ответа уже кое-где давно, а кое-где где еще помню сделаю ссылку сюда.
P.S. Немного обидно что сам не догадался - решение в сущности простое - действительно для русского офиса было бы логично заменить
RightFooter:='Страница &P из &N'
на
RightFooter := ' страница &С из &К '.
Все гениальное просто!
shapm (2006-02-27 09:09:00) [10]Для указания полного количества страниц можно использовать схему
WorkSheet.PageSetup.RightFooter := ' страница &С из &К ';
где соответственно С и К русские буквы.......
shapm (2006-02-26 18:15:00) [11]Пардон, в догонку Excel 2003 русский
shapm (2006-02-26 18:13:00) [12]Работает схема WorkSheet.PageSetup.RightFooter := '&С ';
где в '&С С-русская буква
alexey_public (2006-02-14 10:46:00) [13]Не работает, вот что получается при preview:
"Страница из "
т.е. на месте цифр стоят пробелы.
А у вас какой офис?
У меня 2003 RUS (и на рабочих местах тоже RUS), я как-то давно с такой пробелмой столкнулся и заметил, что на английском офисе вариант с &P проходит лучше. Но тогда я не смог ее решить.
Если написать такое:
WorkSheet1.PageSetup.RightFooter:='&[Страница] из &[Страниц]', то получаем все по вышеописанному алгоритму.
Т.е. при preview видим такое: "Страница] из Страниц]" именно так. После чего заходим в св-ва страницы, переходим к колонтитулам, видим там такое же в нижнем колонтитуле, потом нажимаем создать нижний колонтитул, в это окошке видим уже все как положено:"&[Страница] из &[Страниц]". И просто нажимаем Ok, ничего не меняя, и все моментально меняется - появляются цифры на своем положенном месте. У меня по этому поводу закралось подозрение, что при нажатии на "Создать нижний/верхний колонтитул" что-то создается на самом деле, или что-то меняется в св-вах документа, но отследить это при работе с макросами у меня не получается.
AbrosimovA (2006-02-14 09:43:00) [14]
WorkSheet1.PageSetup.RightFooter:='Страница &P из &N';//Нумерация страниц
alexey_public (2006-02-13 14:52:00) [15]Оп, извините, название темы до конца не дописал, а как теперь поменять не знаю :-(.
В общем - нумерация страниц средствами Delphi в Excel через OLE (модераторы - подправьте).