Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата sov44:
Приходится в каждом документе создавать макрос, как сделать так, чтобы функция печати не чётных и чётных страниц была во всех документах excel? »
Copy your macros to a Personal Macro Workbook - Excel

Цитата sov44:
Из 4 страниц при запуске PrintOdd печатается первая страница, »
Выложите документ. Должна печататься первая, затем третья.

Цитата sov44:
Рассчитывал, что макрос напечатает сначала все нечётные страницы, я переложу пачку бумаги обратно в лоток, макрос напечатает все чётные страницы ... »
Основной вопрос в конкретно взятом принтере — как он раскладывает отпечатанные листы. Потому я привёл лишь общий принцип печати нечётных и чётных страниц.

Пример для типичного лазерного принтера, с прямой печатью нечётных страниц и обратной печатью чётных страниц:
Код: Выделить весь код
Option Explicit

Sub PrintOddAndEven()
    Dim i As Integer
    
    With ActiveSheet
        For i = 1 To ExecuteExcel4Macro("Get.Document(50)") Step 2
            Debug.Print i
            
            .PrintOut From:=i, To:=i, Copies:=1, Preview:=True
        Next
    
        If (ExecuteExcel4Macro("Get.Document(50)")) Mod 2 = 1 Then
            MsgBox "Replace paper into printer to print even pages and remove topsheet", vbInformation + vbOKOnly, "Print even pages"
        Else
            MsgBox "Replace paper into printer to print even pages", vbInformation + vbOKOnly, "Print even pages"
        End If
    
        For i = ExecuteExcel4Macro("Get.Document(50)") To 2 Step -2
            Debug.Print i
            
            .PrintOut From:=i, To:=i, Copies:=1, Preview:=True
        Next
    End With
End Sub
При общем нечётном числе страниц требуется «ручками» убрать верхний лист (с последней нечётной страницей) после первого прохода (печати нечётных страниц), о чём делается соответствующее уведомление.

В принципе, можно сделать очень многое, если вертеть в руках достаточно долго очень захотеть. Несколько лет назад я делал вариант печати брошюры A5 на листах формата A4 из-под Microsoft Access. Так там пришлось ажник в четыре прохода делать печать.

Отправлено: 14:21, 19-04-2014 | #6