Boa tarde, meu nome é Vanio e após muitos acessos no fórum estou criando meu primeiro post.
Desenvolvi uma aplicação vba no excel onde os usuários realizam cadastros de pessoas e veículos, e registram determinadas ocorrências diárias relacionadas a estes registros. Cada ocorrência gera um ticket que é impresso em uma impressora térmica, e ao final de cada período específico é impresso um relatório em uma impressora laser. No início havia 2 computadores e cada um fazia uma parte do trabalho (um deles gerava e imprimia os tickets, o outro imprimia os relatórios) e funcionava perfeitamente usando o comando de impressão:
Sheets(a).PrintOut Copies:=copias, To:=nPgs, Preview:=view
Para evitar retrabalho e aumentar o rendimento resolvi fazer tudo em cada computador. Agora preciso definir em qual impressora enviar o comando de impressão. Usei então para os relatórios:
Sheets(a).PrintOut Copies:=copias, To:=nPgs, Preview:=view, ActivePrinter:="HP LaserJet 1015 PCL5e Series"
e para os tickets:
Sheets("Ticket").PrintOut ActivePrinter:="MP-4200 TH"
Na teoria parece-me correto mas na prática não é bem assim, eventualmente a impressão sai na impressora ERRADA. Imagino que seja necessário inserir algum tipo de flush a cada início de função, mas desconheço a existência do mesmo.
Se alguém puder me ajudar, desde já agradeço!