[/vba]Он был больше, но я убрал лишнее (в моем понимании). Вопросы: 1. Все ли лишнее я убрал? 2. Будет ли код работать одинаково корректно для всех принтеров, учитывая настройки печати: А4, книжная, выравнивание по горизонтали, печать на одном листе? 3. Есть ли смысл параметру ".PrintQuality =" устанавливать значение 300 (на печать выводится только текст)?
[/vba]Он был больше, но я убрал лишнее (в моем понимании). Вопросы: 1. Все ли лишнее я убрал? 2. Будет ли код работать одинаково корректно для всех принтеров, учитывая настройки печати: А4, книжная, выравнивание по горизонтали, печать на одном листе? 3. Есть ли смысл параметру ".PrintQuality =" устанавливать значение 300 (на печать выводится только текст)?
Sub Макрос1() With ActiveSheet With .PageSetup .CenterHorizontally = True .Orientation = xlPortrait .PaperSize = xlPaperA4 .FitToPagesTall = 1 End With .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False End With End Sub
[/vba] Может и еще что лишнее осталось...
[vba]
Код
Sub Макрос1() With ActiveSheet With .PageSetup .CenterHorizontally = True .Orientation = xlPortrait .PaperSize = xlPaperA4 .FitToPagesTall = 1 End With .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False End With End Sub
Андрей, как всегда, не могёт не подколоть Спасибо за макрос. Я правильно понял, что макрорекордер прописывает все настройки печати, и те, которые идут по умолчанию можно не указывать? И разве не нужен параметр .FitToPagesWide = 1, если печать на 1 страницу в высоту и 1 страницу в ширину? И еще, если мы указываем ActiveSheet, то макрос будет применен к активному листу, т.е. к листу, на котором кнопка (в моем случае). А если мне надо напечатать скрытый лист, то я должен записать так:[vba]
Код
Sub Макрос1() With Sheets("Заявка") With .PageSetup .CenterHorizontally = True .Orientation = xlPortrait .PaperSize = xlPaperA4 .FitToPagesTall = 1 End With .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False End With End Sub
Андрей, как всегда, не могёт не подколоть Спасибо за макрос. Я правильно понял, что макрорекордер прописывает все настройки печати, и те, которые идут по умолчанию можно не указывать? И разве не нужен параметр .FitToPagesWide = 1, если печать на 1 страницу в высоту и 1 страницу в ширину? И еще, если мы указываем ActiveSheet, то макрос будет применен к активному листу, т.е. к листу, на котором кнопка (в моем случае). А если мне надо напечатать скрытый лист, то я должен записать так:[vba]
Код
Sub Макрос1() With Sheets("Заявка") With .PageSetup .CenterHorizontally = True .Orientation = xlPortrait .PaperSize = xlPaperA4 .FitToPagesTall = 1 End With .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False End With End Sub
Не работает Для печати скрытых листов изменил код:[vba]
Код
Sub Печать() Application.ScreenUpdating = False Sheets("Счет").Visible = True With Sheets("Счет") With .PageSetup .FitToPagesTall = 1 .FitToPagesWide = 1 .CenterHorizontally = True .Orientation = xlPortrait .PaperSize = xlPaperA4 End With .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False Sheets("Счет").Visible = False End With Application.ScreenUpdating = True End Sub
[/vba]Но почему-то печатаются 2 листа: один со счетом, а второй - пустой В чем причина? Или просто дописать в код, чтобы печатался только первый лист?
Не работает Для печати скрытых листов изменил код:[vba]
Код
Sub Печать() Application.ScreenUpdating = False Sheets("Счет").Visible = True With Sheets("Счет") With .PageSetup .FitToPagesTall = 1 .FitToPagesWide = 1 .CenterHorizontally = True .Orientation = xlPortrait .PaperSize = xlPaperA4 End With .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False Sheets("Счет").Visible = False End With Application.ScreenUpdating = True End Sub
[/vba]Но почему-то печатаются 2 листа: один со счетом, а второй - пустой В чем причина? Или просто дописать в код, чтобы печатался только первый лист?light26
Я не волшебник. Я только учусь
Сообщение отредактировал light26 - Суббота, 01.04.2017, 23:57
Sub Печать() Application.ScreenUpdating = False Sheets("Счет").Visible = True With Sheets("Счет") With .PageSetup .FitToPagesTall = 1 .FitToPagesWide = 1 .CenterHorizontally = True .Orientation = xlPortrait .PaperSize = xlPaperA4 End With .PrintOut From:=1, To:=1, Copies:=1, Collate:=True, IgnorePrintAreas:=False Sheets("Счет").Visible = False End With Application.ScreenUpdating = True End Sub
[/vba]
Сам поборол болячку [vba]
Код
Sub Печать() Application.ScreenUpdating = False Sheets("Счет").Visible = True With Sheets("Счет") With .PageSetup .FitToPagesTall = 1 .FitToPagesWide = 1 .CenterHorizontally = True .Orientation = xlPortrait .PaperSize = xlPaperA4 End With .PrintOut From:=1, To:=1, Copies:=1, Collate:=True, IgnorePrintAreas:=False Sheets("Счет").Visible = False End With Application.ScreenUpdating = True End Sub
Вадим, да нешто? Я бы еще мог согласиться в отношении кого другого [offtop]Нет, ежели что, ты мне писни в личку, и я на твои сообщения вообще реагировать не буду.[/offtop]
Вадим, да нешто? Я бы еще мог согласиться в отношении кого другого [offtop]Нет, ежели что, ты мне писни в личку, и я на твои сообщения вообще реагировать не буду.[/offtop]RAN
Быть или не быть, вот в чем загвоздка!
Сообщение отредактировал RAN - Суббота, 01.04.2017, 20:56