Notifications
Clear all

Comandos para Impressão

9 Posts
2 Usuários
0 Reactions
1,869 Visualizações
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Gostaria de saber se existe algum comando para definir a Impressão. Estou querendo que ao imprimir seja ajustado ao tamanho A4. E também duas páginas por folha, sem a necessidade de eu ir até as configurações de impressora e configurar. É possivel?

 
Postado : 30/04/2013 8:37 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

O meio mais rápido é:
Utlizando o gravados de macros, grave a rotina de configuração desejada e depois acrescente essa rotina a rotina d eimpressão

 
Postado : 30/04/2013 9:10 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!

Leia:
http://social.msdn.microsoft.com/Forums ... 37bd449264

Att

 
Postado : 30/04/2013 9:24 am
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Consegui a solução com algumas manobras. Mas tenho outra dúvida. Eu tenho 3 impressoras, uma de etiquetas, outra a jato de tinta e outra em pdf. Cada uma tme uma função bem definida. Eu tenho um botão de impressão no meu formulario para determinar algumas tarefas antes e depois de imprimir. Agora eu gostaria de poder acrecentar a impressora especifica a ser impressa. Tem como fazer isso?

 
Postado : 30/04/2013 12:12 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

De uma olhada em viewtopic.php?f=10&t=3563&hilit=+impres*

 
Postado : 30/04/2013 1:47 pm
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Boa Tarde Reinaldo,

De acordo o exemplo eu deveria utilizar o comando( : Application.ActivePrinter = "Epson Stylus TX420W(Rede) em Ne03:") para redirecionar uma impressão para uma determinada impressora. Porém ocorreu o seguinte erro:

Erro em tempo de execução '438':
O objeto não aceita esta propriedade ou método

Estou utilizando os códigos abaixo:

Private Sub CommandButton1_Click()

MsgBox "A Impressora Ativa é: " & Application.ActivePrinter
Application.Active = "HP Deskjet3500 Series em Ne03:"

End Sub

 
Postado : 02/05/2013 10:32 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Voce tem certeza que a string da impressore é "HP Deskjet3500 Series em Ne03:" ??
No exemplo / equipamento utilizado a impressora era --> "Epson Stylus TX420W(Rede) em Ne03:"; agora é "Epson Stylus TX420W(Rede) em Ne02:"
Então para cada maquina/configuração altera a string.
Em meu equipamento
usando :MsgBox "A Impressora Ativa é: " & Application.ActivePrinter '
Retorna: Microsoft Office Document Image Writer em Ne01:
Depois utilizando: Application.ActivePrinter = "Epson Stylus TX420W(Rede) em Ne02:"
Utizando Novamente: MsgBox "A Impressora Ativa é: " & Application.ActivePrinter
Retorna: Epson Stylus TX420W(Rede) em Ne02:

 
Postado : 02/05/2013 11:22 am
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Eu segui o mesmo princípio para descobrir com a String Correta de cada impresso. Retornou para a HP assim como esta abaixo.

Utilizando: MsgBox "A Impressora Ativa é: " & Application.ActivePrinter

Retorna:

---------------------------
Microsoft Excel
---------------------------
A Impressora Ativa é: HP Deskjet 3500 Series em Ne03:
---------------------------
OK
---------------------------

 
Postado : 02/05/2013 1:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Então deve funcionar
(2003 e 2010 funciona)
Application.ActivePrinter = "HP Deskjet 3500 Series em Ne03:"
MsgBox "A Impressora Ativa é: " & Application.ActivePrinter

Porem se tentar com um nome/string de impressora que não é reconhecido retorna

Erro em tempo de execução 1004

o metodo activeprinte do objeto '_aplication" falhou

 
Postado : 02/05/2013 1:15 pm