![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 23.05.2009
Сообщений: 167
|
![]()
Как сделать так, чтобы печатались только определенные части документа?
Например, в документе есть листы альбомной ориентации и книжной. Как написать макрос, чтобы печатались только альбомные листы или только книжной ориентации? Или, чтобы печатались листы определенного раздела. И вообще, возможно ли такое? |
![]() |
![]() |
![]() |
#2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Интересный вопрос. Метод PrintOut доступен только для документа, и печатать можно только страницами. Поэтому, если все ваши разделы начинаются с новой страницы, то никаких препятствий я не вижу.
Небольшие изменения этого макроса и задача решена. Как вы представляете себе работу макроса? Нужна форма, или как-то иначе спрашивать у пользователя, что он хочет печатать?
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 23.05.2009
Сообщений: 167
|
![]()
Да, все разделы начинаются с новой страницы.
Я попробую что-нибудь придумать. Представляю так: Макрос определяет наличие в документе видов ориентации. Отсюда возможны 2 ситуации: 1 ситуация: если по всему документу ориентация одинаковая, то открывается обычное диалоговое окно "Печать". 2 ситуация, если в документе имеет место различная ориентация, то появляется диалоговое окно с 3 радиокнопками (кружочками), полем для указания количества копий и кнопкой "Свойства принтера". Напротив одной радиокнопки написано: Печатать листы альбомной ориентации, напротив второй - "Печатать листы книжной ориентации", а напротив 3 - Печатать весь документ. |
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Поворачивать-то он поворачивает, но стоит задача печатать из документа только листы определенной ориентации, если таковые имеются.
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
а-а-а понял...
I'm learning to live...
|
![]() |
![]() |
![]() |
#7 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]() ![]() Импортируйте эту форму в свой документ, затем в любом модуле пропишите такой макрос: Код:
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 08.07.2009 в 21:55. |
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 23.05.2009
Сообщений: 167
|
![]()
Я написал не всё, что должно быть в диалоговом окне, а там должно быть еще как в диалоговом окне "Печать": Принтер Имя (то есть надо выбрать принтер), а справа от него кнопка Свойства (то есть свойства выбранного принтера).
А при импорте формы пишет следующее: Нажимаю Файл – Импорт – Выбираю этот самый файл – Выдает ошибку: Errors during load. Refer to ‘D:\.....\frmPrintOrient.log’ for details. Нажимаю ОК: System Error &H80004005 (-2147467259). Неопознанная ошибка. Нажимаю ОК: Out of memory. После чего в папке, где находится тот самый файл генерируется файл с расширением .log, в котором написано следующее: Line 8: Property OleObjectBlob in frmPrintOrient had an invalid file reference. |
![]() |
![]() |
![]() |
#9 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Прошу прощения. Модуль формы предоставил, а компоненты нет. Исправляю ошибку. Имя принтера вывести не сложно. Собственно, кнопка «Свойства принтера» как раз и позволяет изменить имя принтера, на который будет вестись печать, а вот с диалогом свойств будет сложнее. Я знаю только о методе с использованием WinAPI, но не умею его применять.
Если никто не посоветует лучше, то я сделаю.
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 10.07.2009 в 09:45. |
![]() |
![]() |
![]() |
#10 |
Новичок
Джуниор
Регистрация: 23.05.2009
Сообщений: 167
|
![]()
Спасибо, гляну в будние дни (в выхдные - не знаю, смогу ли я себя заставить это сделать).
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Печать документов. | Busine2009 | Microsoft Office Word | 8 | 18.06.2009 14:36 |
Печать документов в Word... | Busine2009 | Microsoft Office Word | 1 | 09.06.2009 07:48 |
Печать документов Word | Busine2009 | Общие вопросы Delphi | 1 | 08.06.2009 21:28 |
Печать HTML документов | Максим_Леонидович | HTML и CSS | 2 | 17.01.2009 14:16 |
Пакетная печать HTML документов из Delphi | Pitonio | Помощь студентам | 9 | 16.07.2008 09:08 |