1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

VBA изменить ориентацию листа в принтере

Тема в разделе "CorelDraw", создана пользователем -, 24 май 2006.

Модераторы: Артер
  1. Guest

    Макрос формирует много листов, ориентация альбомная
    При при выводе на печать выдает запрос на автоматическое изменение ориентации бумаги в принтере, при положительном ответе сбрасывается заданное количество копий на 1. Да и не красиво это, вдуг кто нажмет случайно или бессознательно не то что нужно.

    Перед выводом на печать приходится вызывать
    ActiveDocument.PrintSettings.ShowDialog

    ВОПРОС: Есть ли возможность программно задать нужный вид ориентации не листа в Кореле, а листа на принтере.

    Или только поворотом страницы в Корел можно справиться.

    Спасибо всем :)

     
  2. Kerch

    Kerch Активный участник

    С нами с:
    13.09.2006
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    5
    В Х3
    .PaperOrientation = prnPaperLandscape
     
  3. Guest

    Kerch Написал:
    -------------------------------------------------------
    > В Х3
    > .PaperOrientation = prnPaperLandscape

    Если не ошибаюсь (пока не имею Х3)
    это и раньше было, но это меняет расположение листа в документе. Т.е. при печати из макроса появиться запрос на изменение ориентации в принтере и как писал ранее заданное количество копий сбросится на 1.

    :(
     
  4. Kerch

    Kerch Активный участник

    С нами с:
    13.09.2006
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    5
    Автор Lev Fredin

    Sub printtt()
    With ActiveDocument.PrintSettings
    .Copies = 1
    .PrintToFile = True
    .SelectPrinter "Device Independent PostScript File" '"Linotronic 930 52.3"
    .SetCustomPaperSize 300, 400, prnPaperPortrait
    .filename = "E:\prn_file\_13.prn"
    .ForMac = False
    End With
    ActiveDocument.PrintOut
    End Sub
     
  5. Guest

    Все замечательно
    правда требует доработочки
    после .SetCustomPaperSize 300, 400, prnPaperPortrait
    или .SetPaperSize prnPaperSizeA4, prnPaperLandscape

    Количество .Copies = 5 сбрасывается

    Но так заработало

    Sub printtt()
    With ActiveDocument.PrintSettings
    .SetPaperSize prnPaperSizeA4, prnPaperLandscape
    .Copies = 5
    .ForMac = False
    End With
    ActiveDocument.PrintOut
    End Sub

    Т.е. порядок просто поменял

    Короче огромное спасибо и низкий поклон Kerch, я уже с этой проблемой давно бьюсь и хоть и ходил рядом но сам не дошел :)
     
Модераторы: Артер

Поделиться этой страницей