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.