Страницы: 1
RSS
Макрос - формат листа по образцу
 
Хочется создать макрос "формат листа по образцу"...  
Точнее есть книга с кучей сходных листов (НЕ ПОДГОТОВЛЕННЫЕ ДЛЯ ПЕЧАТИ)  
Берем один из них (например первый) - выставляем поля для печати, колонтитулы и т.д...  
потом запускаем макрос, который каждый из пораметров шаблонного листа приравнивает    
переменным, потом поочередно для каждого последующего листа, каждый соответствующий параметр листа приравниваем значению переменной  
шаблоннгого листа...  
Но у меня вопрос, сколько параметров имеет лист ?  
Вот, чтоо я нащел пока :  
 
   With ActiveSheet.PageSetup  
       .LeftHeader = ""  
       .CenterHeader = ""  
       .RightHeader = ""  
       .LeftFooter = ""  
       .CenterFooter = "5541"  
       .RightFooter = ""  
       .LeftMargin = Application.InchesToPoints(0.26)  
       .RightMargin = Application.InchesToPoints(0.17)  
       .TopMargin = Application.InchesToPoints(0.87)  
       .BottomMargin = Application.InchesToPoints(1.11)  
       .HeaderMargin = Application.InchesToPoints(0.17)  
       .FooterMargin = Application.InchesToPoints(0.17)  
       .PrintHeadings = False  
       .PrintGridlines = False  
       .PrintComments = xlPrintNoComments  
       .PrintQuality = 600  
       .CenterHorizontally = False  
       .CenterVertically = False  
       .Orientation = xlPortrait  
       .Draft = False  
       .PaperSize = xlPaperA4  
       .FirstPageNumber = xlAutomatic  
       .Order = xlDownThenOver  
       .BlackAndWhite = False  
       .Zoom = 100  
       .PrintErrors = xlPrintErrorsDisplayed  
   End With  
 
 
Это все ????  
Или есть еще, какие-нибуть немаловажные параметры, о которых я забыл ????
 
Параметров множество.  
Считать ВСЕ весьма проблематично.  
Перебрать в цикле все параметры вообще невозможно. (их надо указывать явно)  
 
Я бы посоветовал такие варинаты:  
 
1) (сложный) Создать лист-шаблон со сложным форматированием (колонтитулы, и т.д. и т.п.), и потом переформировывать все листы на основании этого шаблона: копируем лист шаблона в книгу, переносим на него данные с очередного листа, исходный лист удаляем.  
И так для всех листов книги (книг)  
 
 
2) (простой)  
Разберитесь, что означает каждый параметр, и изменяйте только нужные значения.  
Макрос будет быстрый, и в то же время будет приводить листы к нужному виду.  
 
Вот пример такого макроса:  
 
Sub test()  
   Application.ScreenUpdating = False    ' отключаем обновление экрана  
   Dim sh As Worksheet  
   For Each sh In ActiveWorkbook.Worksheets    ' перебираем все листы в активной книге  
       With sh.PageSetup ' задаем только нужные параметры  
           .CenterFooter = "5541"    ' назначаем нижний центральный колонтитул  
           .Orientation = xlPortrait ' меняем ориентацию страницы  
           .PrintArea = "b:g" ' задаем область печати  
           ' и т.д.  
       End With  
   Next sh  
End Sub
 
1 запускаете макрорекордер    
2 задаете параметры для шаблона  
3 переписываете макрос присваивая значения параметров листа переменным  
и для нужного листа (ов) присваиваете нужным параметрам значения соответствующих переменных  
недавно было
Страницы: 1
Читают тему
Наверх
Loading...