Установить принтер Excel vba macro

0

Я пытаюсь распечатать макрос на общий принтер на компьютере коллеги.

Я пробовал следующее, но безрезультатно

Sub Tag()
ActiveCell.Resize(1, 1).Copy Worksheets("Sheet1").Range("A1")

ActiveCell.Offset(, 1).Resize(1, 1).Copy Worksheets("Sheet1").Range("A2")

'Worksheet("Sheet1").Range("A1:A2").Borders.LineStyle = xlNone
Sheets("Sheet1").Select
Range("A1:A2").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

Worksheets("Sheet1").Range("A2").WrapText = True
Worksheets("Sheet1").Range("A2").Font.Size = 44
Worksheets("Sheet1").Range("A2").ShrinkToFit = True

Application.ActivePrinter = "Microsoft XPS Document Writer on XPSPort"

'Worksheets("Sheet1").PrintOut ActivePrinter = "DYMO LabelWriter 450 (Copy2) on JCSP55J"


End Sub

JCSP55J - это имя сети коллег.

Есть идеи, как решить эту проблему, пожалуйста?

Ryanagray
источник
Попробуйте записать макрос. Это покажет правильное имя и синтаксис.
Máté Juhász
Я пытался записать макрос, но он не показывает activeprinter,
Ryanagray

Ответы:

0

Вы можете добавить ActivePrinter в качестве аргумента для PrintOut.

Например:

Worksheets("Sheet1").PrintOut ActivePrinter:="DYMO LabelWriter 450 (Copy2) on JCSP55J"
Jonno
источник
Привет, это все еще дает ту же ошибку, Ошибка времени выполнения «1004»: метод «ActivePrinter» объекта «_Global» не удалось
Ryanagray
@Ryanagray Это происходит, если вы используете неправильное имя. Убедитесь, что вы используете имя из первого поля в «Настройка печати» именно так как это происходит. i.imgur.com/KhBkTdT.jpg
Jonno
Спасибо за ответ, я пробовал это и до сих пор, имеет ли значение, что это был общий принтер на другом USB-порту ПК
Ryanagray
@Ryanagray Не должен делать, он использует только имя для интерфейса. Возможно, переименуйте устройство принтера во что-то более простое, чтобы быть уверенным, просто "DYMO" или что-то
Jonno
Я пробовал с другими принтерами и все тот же, я отредактировал вопрос выше, чтобы включить весь код макроса, еще мысли, пожалуйста?
Ryanagray