Excel VBA definir impressora para impressora compartilhada


1

Eu tenho um longo VBA copiando células de uma página para outra e tentando imprimir 3 páginas para impressoras diferentes.

O código abaixo não parece estar alterando a impressora padrão e, assim, todas as páginas são enviadas para a mesma impressora.

 For i = 0 To 15
    curNePrint = Format(i, "00")
    On Error Resume Next
        Application.ActivePrinter = "\\AtanaWin7PC3\DYMO LableWriter 450 on ne" & curNePrint & ":"
    Next i
 Worksheets(le).PrintPreview

Eu usei printPreview para economizar papel desperdiçado na impressora.

Alguém pode me ajudar aqui na configuração de uma impressora para cada página.

obrigado

Respostas:


2

Experimentei o seu código e consegui alterar as impressoras com sucesso.

Eu acho que é mais provável que haja um erro de ortografia no nome da sua impressora.

Talvez o LableWriter deva ser LabelWriter?

Para determinar qual deve ser o nome da impressora, sugiro alterar manualmente sua impressora ativa e, em seguida, fazer algo como Debug.Print Application.ActivePrinter e compare cuidadosamente o resultado da sua string com o que você está especificando.


O OP também pode enumerar a lista de impressoras usando Application.Printers ( msdn.microsoft.com/pt-br/vba/access-vba/articles/… ) E use instr() identificar impressoras com "DYMO"
— Yorik

@Yorik É um bom pensamento, mas parece que o seu link é para o Access, em vez de Excel. Não consigo encontrar uma propriedade correspondente para o Excel.
— S Barry

Ah, eu senti falta disso. Pode ainda ser possível através de uma chamada de sistema
— Yorik

Oi, obrigado pela resposta, agora eu tenho este trabalho, você sabe como eu posso mudar a impressão da bandeja?
— Ryan Gray

Ryan, eu não acho que você pode fazer isso através do Excel VBA, mas isso pode ser útil: excelforum.com/excel-programming-vba-macros/…
— S Barry
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.