Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2009, 22:13   #1
Busine2009
Новичок
Джуниор
 
Регистрация: 23.05.2009
Сообщений: 167
Сообщение Печать документов...

Как сделать так, чтобы печатались только определенные части документа?

Например, в документе есть листы альбомной ориентации и книжной.

Как написать макрос, чтобы печатались только альбомные листы или только книжной ориентации?

Или, чтобы печатались листы определенного раздела.

И вообще, возможно ли такое?
Busine2009 вне форума Ответить с цитированием
Старый 08.07.2009, 03:48   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Интересный вопрос. Метод PrintOut доступен только для документа, и печатать можно только страницами. Поэтому, если все ваши разделы начинаются с новой страницы, то никаких препятствий я не вижу.

Небольшие изменения этого макроса и задача решена.
Как вы представляете себе работу макроса? Нужна форма, или как-то иначе спрашивать у пользователя, что он хочет печатать?
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 08.07.2009, 08:05   #3
Busine2009
Новичок
Джуниор
 
Регистрация: 23.05.2009
Сообщений: 167
По умолчанию

Да, все разделы начинаются с новой страницы.
Я попробую что-нибудь придумать.
Представляю так:
Макрос определяет наличие в документе видов ориентации. Отсюда возможны 2 ситуации: 1 ситуация: если по всему документу ориентация одинаковая, то открывается обычное диалоговое окно "Печать". 2 ситуация, если в документе имеет место различная ориентация, то появляется диалоговое окно с 3 радиокнопками (кружочками), полем для указания количества копий и кнопкой "Свойства принтера". Напротив одной радиокнопки написано: Печатать листы альбомной ориентации, напротив второй - "Печатать листы книжной ориентации", а напротив 3 - Печатать весь документ.
Busine2009 вне форума Ответить с цитированием
Старый 08.07.2009, 09:43   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Отсюда возможны 2 ситуации:
А разве Ворд сам не поворачивает страницы как надо?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.07.2009, 09:54   #5
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А разве Ворд сам не поворачивает страницы как надо?
Поворачивать-то он поворачивает, но стоит задача печатать из документа только листы определенной ориентации, если таковые имеются.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 08.07.2009, 10:14   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

а-а-а понял...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.07.2009, 12:12   #7
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию


Импортируйте эту форму в свой документ, затем в любом модуле пропишите такой макрос:
Код:
Sub SeparatePrint()
  frmPrintOrient.Show
End Sub
Если в документе есть страницы только одной ориентации, то все остальные пункты выбора будут недоступны.
Вложения
Тип файла: rar frmPrintOrient.rar (1.1 Кб, 15 просмотров)
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 08.07.2009 в 21:55.
viter.alex вне форума Ответить с цитированием
Старый 09.07.2009, 22:08   #8
Busine2009
Новичок
Джуниор
 
Регистрация: 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.
Busine2009 вне форума Ответить с цитированием
Старый 10.07.2009, 09:23   #9
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Прошу прощения. Модуль формы предоставил, а компоненты нет. Исправляю ошибку. Имя принтера вывести не сложно. Собственно, кнопка «Свойства принтера» как раз и позволяет изменить имя принтера, на который будет вестись печать, а вот с диалогом свойств будет сложнее. Я знаю только о методе с использованием WinAPI, но не умею его применять.
Если никто не посоветует лучше, то я сделаю.
Вложения
Тип файла: rar frmPrint.rar (2.2 Кб, 16 просмотров)
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 10.07.2009 в 09:45.
viter.alex вне форума Ответить с цитированием
Старый 10.07.2009, 21:48   #10
Busine2009
Новичок
Джуниор
 
Регистрация: 23.05.2009
Сообщений: 167
По умолчанию

Спасибо, гляну в будние дни (в выхдные - не знаю, смогу ли я себя заставить это сделать).
Busine2009 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печать документов. 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