Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Дописать макрос для печати листов Ексель? / 11 сообщений из 11, страница 1 из 1
11.02.2010, 19:49
    #36464345
Gleod
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дописать макрос для печати листов Ексель?
Добрый день!
Ребята! Сложный вопрос. В крайнеа случае для меня.
Имеется макрос, который вызывает окно печати.
Проблема.
ИЗ ОКНА ПЕЧАТИ ЗАПУСКАЕМ ПРОСМОТР. ВСЕ КАК НАДО.
Но после выхода из этого режима, автоматом исчезает окно печати. Тоже как задумано Майкрософт.
Вопрос.
Как этого избежать, в конкретной проге? То есть. Перехитрить Била Г., чтобы при выходе из режима просмотра, окно печати оставалось на экране монитора.
Заранее спасибо!
Файл прикрепляю.
...
Рейтинг: 0 / 0
12.02.2010, 09:39
    #36464863
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дописать макрос для печати листов Ексель?
Gleod,

Ну самое простое, поместить код
Код: plaintext
1.
dlgAnswer = Application.Dialogs(xlDialogPrint).Show
в бесконечный цикл с выходом по некоторому условию.
Вопрос лишь в том, в каком случае всё таки окно печати должно исчезнуть.
...
Рейтинг: 0 / 0
12.02.2010, 12:28
    #36465459
Gleod
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дописать макрос для печати листов Ексель?
Djon Player,Доброго вам дня!
"Вопрос лишь в том, в каком случае всё таки окно печати должно исчезнуть"
Естественно, что при нажатии на кнопку ОК (то есть, печатать документа). Сейяас код так и срабатывает.
А вот, как изменить вот эту строку : Sheets("Лист1").Activate, чтобы на печать выводился активный лист, я тоже не знаю.
И, вообще, как этот кож привести в божеский вид?
Если знаете как, то подскажите ПОЖАЛУЙСТА!
С уважением, автор!
...
Рейтинг: 0 / 0
12.02.2010, 13:10
    #36465620
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дописать макрос для печати листов Ексель?
Вроде так получилось:
Код: plaintext
1.
2.
3.
4.
5.
Sub Печать_ведомости()
    dlgAnswer = Application.Dialogs(xlDialogPrint).Show
    Sheets("Лист1").Activate
  If ActiveWindow.View = xlNormalView Then dlgAnswer = Application.Dialogs(xlDialogPrint).Show
End Sub
...
Рейтинг: 0 / 0
12.02.2010, 13:21
    #36465655
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дописать макрос для печати листов Ексель?
Что-то поторопился я , по 2 раза окно выкидывает...
чтобы на печать выводился активный лист - так убери эту строку Sheets("Лист1").Activate
, будет активный лист печатать. Но тогда код запускть конечно не этой кнопкой, а иначе.
...
Рейтинг: 0 / 0
12.02.2010, 13:40
    #36465729
Gleod
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дописать макрос для печати листов Ексель?
Hugo121,
и вам доброго дня!
Да, вроди бы как на печать выводит активный лист. А в случае отказа от печати, активирует не тот лист откуда была запущена печать, а именно Лист1. А по логике должен активироваться лист, с которого была запущена печать.
Попробуйте, пожалуйста переместь/скопировать Лист1, а потом с вновь созданого листа нажать на кнопку Печать. А потом отказаться от печати.
Явно, что срабатывает строка Sheets("Лист1").Activate. Именно ее , как мне кажется, и нужно изменить. Вот только я не знаю как.
с уважением автор!
...
Рейтинг: 0 / 0
12.02.2010, 13:43
    #36465740
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дописать макрос для печати листов Ексель?
Ну так код
Код: plaintext
1.
2.
3.
4.
Sub Печать_ведомости()
    dlgAnswer = Application.Dialogs(xlDialogPrint).Show
'    Sheets("Лист1").Activate
End Sub
с скопированоого листа оставляет активным скопированыый.
...
Рейтинг: 0 / 0
12.02.2010, 13:59
    #36465803
Gleod
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дописать макрос для печати листов Ексель?
Hugo121,сочинил!
Вот такой код:
Sub Печать_ведомости()
dlgAnswer = Application.Dialogs(xlDialogPrint).Show
' Sheets("Лист1").Activate
dlgAnswer = Application.Dialogs(xlDialogPrint).Show
End Sub
Вот в таком виде код , и возвращает курсор на лист с которого была запущена печать, и оставляет окно печати на экране.Не знаю, по правилам это сделано? Но работает.
Ребята! Спасибо вам за екстренную помщь!!! Удачи вам во всем!
...
Рейтинг: 0 / 0
12.02.2010, 14:34
    #36465958
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дописать макрос для печати листов Ексель?
Так это практически тот же мой вариант, с тем же недостатком - лишний раз выкидывает Application.Dialogs(xlDialogPrint), если отказаться от печати.
...
Рейтинг: 0 / 0
12.02.2010, 14:41
    #36465988
Gleod
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дописать макрос для печати листов Ексель?
Hugo121,
не могу с вами не согласиться!
Еще раз СПАСИБО!
...
Рейтинг: 0 / 0
15.02.2010, 11:06
    #36469214
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дописать макрос для печати листов Ексель?
Gleod,

Вобще лучше пользователям сказать, что если включили предварительный просмотр, то из него надо выходить не кнопкой Закрыть, а кнопкой Страница.
Тогда и проблемы не будет.
А если пользователь закрыл, то сам виноват, лишний раз придётся нажать кнопку Печать.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Дописать макрос для печати листов Ексель? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]