Всем доброго времени суток!
У меня есть таблица, в которой во время печати скрываются столбцы. При нажатии на кнопку "Печать" скрываются столбцы (по условию), затем находим последний столбец и строку выделяется дипазон печати - печатаем и возвращаем все на место (показываем скрытые столбцы). Код ниже:
Я подумал, что надо подстраховаться, вдруг принтер выдаст ошибку или принтера не будет. У меня дома нет принтера, поэтому решил попробовать этот код дома, а он не ловит ошибку.
На строке:
он пытается распечатать и выдает ошибку: "Printer not activate, error code -40".
Переход на ErrorPrinter не осуществляется!
Прошу помощи. Что делаю не так?
У меня есть таблица, в которой во время печати скрываются столбцы. При нажатии на кнопку "Печать" скрываются столбцы (по условию), затем находим последний столбец и строку выделяется дипазон печати - печатаем и возвращаем все на место (показываем скрытые столбцы). Код ниже:
Код |
---|
Private Sub CommandButton6_Click() Dim ILastRow, ILastCol As Long On Error GoTo ErrorPrinter Application.ScreenUpdating = False If ActiveWorkbook.Sheets("Лист1").Range("G2").Value = 0 Then Columns("G:G").Hidden = True If ActiveWorkbook.Sheets("Лист1").Range("H2").Value = 0 Then Columns("H:H").Hidden = True If ActiveWorkbook.Sheets("Лист1").Range("I2").Value = 0 Then Columns("I:I").Hidden = True If ActiveWorkbook.Sheets("Лист1").Range("J2").Value = 0 Then Columns("J:J").Hidden = True If ActiveWorkbook.Sheets("Лист1").Range("K2").Value = 0 Then Columns("K:K").Hidden = True If ActiveWorkbook.Sheets("Лист1").Range("L2").Value = 0 Then Columns("L:L").Hidden = True ILastCol = ActiveWorkbook.Sheets("Лист1").Cells(4, Columns.Count).End(xlToLeft).Column ILastRow = ActiveWorkbook.Sheets("Лист1").Cells(Rows.Count, 4).End(xlUp).Row ActiveWorkbook.Sheets("Лист1").Range(Cells(4, 4), Cells(ILastRow, ILastCol)).Select Selection.PrintOut Copies:=1, Collate:=True If ActiveWorkbook.Sheets("Лист1").Range("G2").Value = 0 Then Columns("G:G").Hidden = False If ActiveWorkbook.Sheets("Лист1").Range("H2").Value = 0 Then Columns("H:H").Hidden = False If ActiveWorkbook.Sheets("Лист1").Range("I2").Value = 0 Then Columns("I:I").Hidden = False If ActiveWorkbook.Sheets("Лист1").Range("J2").Value = 0 Then Columns("J:J").Hidden = False If ActiveWorkbook.Sheets("Лист1").Range("K2").Value = 0 Then Columns("K:K").Hidden = False If ActiveWorkbook.Sheets("Лист1").Range("L2").Value = 0 Then Columns("L:L").Hidden = False Application.ScreenUpdating = True Exit Sub ErrorPrinter: On Error Resume Next MsgBox "Устройство не найдено! Обратитесь к администратору!", vbOKOnly + vbExclamation, "Предупреждение" Resume Next End Sub |
На строке:
Код |
---|
Selection.PrintOut Copies:=1, Collate:=True |
Переход на ErrorPrinter не осуществляется!
Прошу помощи. Что делаю не так?