Есть файл, в котором несколько листов заполнены похожими (но не одинаковыми) по структуре данными. Как макросом определить область печати без лишних строк/столбцов и отправить на печать данные отцентрировав их по горизонтали и установив масштаб таким образом, что бы по ширине получилась одна страница? Спасибо.
Есть файл, в котором несколько листов заполнены похожими (но не одинаковыми) по структуре данными. Как макросом определить область печати без лишних строк/столбцов и отправить на печать данные отцентрировав их по горизонтали и установив масштаб таким образом, что бы по ширине получилась одна страница? Спасибо.Serge_007
А так? На будущее - в строке: PercentZoom = Int((450 / j) * 100) число 450 подберешь как тебе надо. Чем оно больше, тем больше будет масштаб и наоборот.
А так? На будущее - в строке: PercentZoom = Int((450 / j) * 100) число 450 подберешь как тебе надо. Чем оно больше, тем больше будет масштаб и наоборот.KuklP
Он и так сам вычислит. А 450 это коэффициент масштабирования. Что масштабировать вычисляется в j. Этож не Ворд, где все в сантиметрах, тут надо поинты или твипы в сантиметры перепузыривать. Кстати прицепился не тот файл(как?). Цепляю тот.
Он и так сам вычислит. А 450 это коэффициент масштабирования. Что масштабировать вычисляется в j. Этож не Ворд, где все в сантиметрах, тут надо поинты или твипы в сантиметры перепузыривать. Кстати прицепился не тот файл(как?). Цепляю тот.KuklP
Здравствуйте! А можно ли что бы эту область Excel печатал в двух эекземплярах НО на ОДНОЙ стороне А4? То есть, один екземпляр вверху, а второй - внизу, + растянуть на целую А4 (для экономии бумаги )
Здравствуйте! А можно ли что бы эту область Excel печатал в двух эекземплярах НО на ОДНОЙ стороне А4? То есть, один екземпляр вверху, а второй - внизу, + растянуть на целую А4 (для экономии бумаги )bygaga
неа, не получается - 1 копию на 1 стороне на весь А4 печатает. А нужно 2 копии на ОДНОЙ стороне А4, что бы потом разорвать на две части - одну отдать, а вторую себе оставить... может бить, я что-то в коде должен изменить, а не просто Copy-Paste в модуль?
Quote (Формуляр)
Формуляр
неа, не получается - 1 копию на 1 стороне на весь А4 печатает. А нужно 2 копии на ОДНОЙ стороне А4, что бы потом разорвать на две части - одну отдать, а вторую себе оставить... может бить, я что-то в коде должен изменить, а не просто Copy-Paste в модуль?bygaga
Public Sub SetHalfPageZoom() ' Устанавливает масштаб страницы в 2 раза меньше подгона к 1 стр. по высоте Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,,,,{#N/A,1})" ActiveSheet.PageSetup.Zoom = 100 * ActvPageZoom / 2 End Sub
Function ActvPageZoom() As Double Const MACRO_CMD_STR = "PAGE.SETUP(,,,,,,,,,,,,{#1,#2})" Dim tPgN$, wPgN$
With ActiveSheet.PageSetup If .Zoom > 0 Then ActvPageZoom = .Zoom / 100 Else tPgN$ = IIf(.FitToPagesTall > 0, .FitToPagesTall, "#N/A") wPgN$ = IIf(.FitToPagesWide > 0, .FitToPagesWide, "#N/A") Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,,,,{#N/A,#N/A})" ActvPageZoom = .Zoom / 100 Application.ExecuteExcel4Macro Replace(Replace(MACRO_CMD_STR, "#1", wPgN$), "#2", tPgN$) End If End With 'ActiveSheet.PageSetup End Function
[/vba]
Для корректной работы размер листа при 100% масштабе должен быть больше 1 стр.
[vba]
Code
Public Sub SetHalfPageZoom() ' Устанавливает масштаб страницы в 2 раза меньше подгона к 1 стр. по высоте Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,,,,{#N/A,1})" ActiveSheet.PageSetup.Zoom = 100 * ActvPageZoom / 2 End Sub
Function ActvPageZoom() As Double Const MACRO_CMD_STR = "PAGE.SETUP(,,,,,,,,,,,,{#1,#2})" Dim tPgN$, wPgN$
With ActiveSheet.PageSetup If .Zoom > 0 Then ActvPageZoom = .Zoom / 100 Else tPgN$ = IIf(.FitToPagesTall > 0, .FitToPagesTall, "#N/A") wPgN$ = IIf(.FitToPagesWide > 0, .FitToPagesWide, "#N/A") Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,,,,{#N/A,#N/A})" ActvPageZoom = .Zoom / 100 Application.ExecuteExcel4Macro Replace(Replace(MACRO_CMD_STR, "#1", wPgN$), "#2", tPgN$) End If End With 'ActiveSheet.PageSetup End Function
[/vba]
Для корректной работы размер листа при 100% масштабе должен быть больше 1 стр.Формуляр
Здравствуйте! Есть файл, в котором на одном листе заполнены похожими (но не одинаковыми) по структуре данными. Как распечатать эти данные в разных форматах (Альбомный, портретный) с заполнением по ширине листа. [moder]Тема закрыта. Причина: нарушение п.п. 4, 5q Правил форума[/moder]
Здравствуйте! Есть файл, в котором на одном листе заполнены похожими (но не одинаковыми) по структуре данными. Как распечатать эти данные в разных форматах (Альбомный, портретный) с заполнением по ширине листа. [moder]Тема закрыта. Причина: нарушение п.п. 4, 5q Правил форума[/moder]Russsell