Всем доброго времени суток!
У меня есть таблица, в которой во время печати скрываются столбцы. При нажатии на кнопку "Печать" скрываются столбцы (по условию), затем находим последний столбец и строку выделяется дипазон печати - печатаем и возвращаем все на место (показываем скрытые столбцы). Код ниже:
Я подумал, что надо подстраховаться, вдруг принтер выдаст ошибку или принтера не будет. У меня дома нет принтера, поэтому решил попробовать этот код дома, а он не ловит ошибку.
На строке:
он пытается распечатать и выдает ошибку: "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 не осуществляется!
Прошу помощи. Что делаю не так?