powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / обработка исключительной ситуации
3 сообщений из 3, страница 1 из 1
обработка исключительной ситуации
    #33176695
fabler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем здравствуйте!
нужно срочно решить вопрос:
как обработать ИС в макросе для exel, т.е. аналог try...except...end;
очень нужно!
Т.к. в макросе есть строки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
With ActiveSheet.PageSetup        
        .LeftMargin = Application.InchesToPoints( 0 . 236220472440945 )
        .FooterMargin = Application.InchesToPoints( 0 . 15748031496063 )
        ...
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality =  600     ' на эту строку ругается на некоторых ПК
        .CenterHorizontally = False
        ...
    End With

понятно, что это зависит от принтера, подключенного к ПК, вопрос, как избегать подобных ошибок?
если просто эту строку убрать, то с каким качеством будет печататься документ?

спасибо!
...
Рейтинг: 0 / 0
обработка исключительной ситуации
    #33176910
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если убрать, то печататься будет в зависимости от драйвера. Это может быть с качеством "по умолчанию"; с тем, с которым печатали в последний раз; с тем, с которомы печатали из этой конкретной программы в последний раз. Любое из трех :)

а вообще, в VBA для перехвата ошибок есть команда ON ERROR GOTO LABEL/RESUME

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        ......
        .PrintComments = xlPrintNoComments

        ON ERROR GOTO SetBadQuality    ' включаем перехват ошибок
        .PrintQuality =  600     ' на эту строку ругается на некоторых ПК
        ON ERROR GOTO  0     ' выключаем перехват ошибок вообще
        Goto PrintQualitySet
SetBadQuality:
        .PrintQuality =  300     '  может быть это отработает везде? :)
        RESUME NEXT ' снимаем флаг ошибки и передаем управление на команду следующую за сделавашей ошибку.

PrintQualitySet:
        .CenterHorizontally = False
        ......
 
...
Рейтинг: 0 / 0
обработка исключительной ситуации
    #33179856
fabler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / обработка исключительной ситуации
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]