Страницы: 1
RSS
макрос для печати (порядок листов)
 
есть книга (порядка 50 листов)  
листы имеют название 1, 1. , 2, 2. , и т.д. (где 1 - лицо документа, 1. - тыл документа)  
 
соответственно нужен макрос, (две кнопки) "печать лицо", "печать тыл".  
так же необходимо чтобы при нажатии на кнопку выскакивало меню для выбора принтера.  
 
вижу так:  
печать, листы "1","2","3","4" ... "50"  
 
печать, листы "1.","2.","3.","4.", ... "50."
 
Вот вам 2 макроса, которые при запуске выделяют все необходимые листы, и выводят диалоговое окно печати:  
 
Sub ПечатьТыл()  
   Dim sh As Worksheet  
   For Each sh In ActiveWorkbook.Worksheets  
       If sh.Name Like "*." Then sh.Select False  
   Next sh  
   Application.Dialogs(xlDialogPrint).Show  
End Sub  
 
 
Sub ПечатьЛицо()  
   Dim sh As Worksheet  
   For Each sh In ActiveWorkbook.Worksheets  
       If Not sh.Name Like "*." Then sh.Select False  
   Next sh  
   Application.Dialogs(xlDialogPrint).Show  
End Sub  
 
Вам остаётся только нажать на кнопку ОК  
 
Внимание: макрос ПечатьЛицо должен запускаться только при активном листе из списка  "1","2","3","4" ... "50",  
а макрос ПечатьТыл - при активном листе из списка "1.","2.","3.","4.", ... "50."  
(иначе придётся усложнять код выделения листов)  
 
Пример в файле: http://excelvba.ru/XL_Files/Sample__19-09-2011__10-31-26.zip  
(на листе 1 и листе 1. есть по зеленой кнопке для печати)
 
спасибо,  
я так понимаю просто размещу кнопки на 1 листе(печать лицо), и 1. листе (печать тыл)  
 
а шибко усложниться если сделать обе кнопки на отдельном листе (типа титульного)
 
сделал гиперссылки на "титульном" листе в ячейки с кнопкой <печать> на листе "1" и "1." все работает
 
проблема возникла со "скрытым листом" при его наличии макрос "с лица" падает в 400 ошибку.
 
{quote}{login=d-konstruktor}{date=19.09.2011 12:11}{thema=}{post}проблема возникла со "скрытым листом" {/post}{/quote}Попробуйте его временно отобразить.
 
понятно что я догадался (раз выявил проблему), как теперь сделать в макросе исключение?
 
При переборе сделать ещё одну проверку - Если лист скрыт, отобразить, отправить на печать и снова скрыть. Скрытие/отображение листа запишите макрорекордером.
 
Здравствуйте форумчане!  
Подскажите пожулуйста, что нужно добавить в этом макросе (или создать новый) для того, чтобы в выходящей панели управления "Печать" предлагалось напечатать только определенный диапазон ячеек (например А1:Н20). Пользователю останется только выбрать принтер.  
 
Sub ПечатьЛицо()  
Dim sh As Worksheet  
For Each sh In ActiveWorkbook.Worksheets  
If Not sh.Name Like "*." Then sh.Select False  
Next sh  
Application.Dialogs(xlDialogPrint).Show  
End Sub  
 
Спасибо!
 
Обсуждают, а что, непонятно.  
В теме же ясно написано (см. первое сообщение): "макрос для печати (порНОлистов)" :)
Страницы: 1
Читают тему
Наверх