Olá pessoal. Temos aqui 2 impressoras. 1 matricial, que fica no computador IMPRESSOR IP 10.1.1.50, de nome MATRICIAL (é uma epson lx-810) e a outra HP 1440, jato de tinta, que fica no computador DESKTOP.
Todos os documentos são impressos na 1440. Exceto o ASO. O ASO precisa ser impresso na Matricial, porque é um formulário de 3 vias.
Eu peguei esse código num site, que coloco no evento AO CLICAR do botão IMPRIMIR. O nome do relatório a ser impresso é relImprimirAso.
Quando clico em imprimir, dá o seguinte erro:
RUNTIME ERROR '5'
Invalid procedure call or argument
Quando clico em DEBUG, ele vai pra linha em NEGRITO, no meio do código.
Pergunta
Gil Kléber
Olá pessoal. Temos aqui 2 impressoras. 1 matricial, que fica no computador IMPRESSOR IP 10.1.1.50, de nome MATRICIAL (é uma epson lx-810) e a outra HP 1440, jato de tinta, que fica no computador DESKTOP.
Todos os documentos são impressos na 1440. Exceto o ASO. O ASO precisa ser impresso na Matricial, porque é um formulário de 3 vias.
Eu peguei esse código num site, que coloco no evento AO CLICAR do botão IMPRIMIR. O nome do relatório a ser impresso é relImprimirAso.
Quando clico em imprimir, dá o seguinte erro:
RUNTIME ERROR '5'
Invalid procedure call or argument
Quando clico em DEBUG, ele vai pra linha em NEGRITO, no meio do código.
A versão do access é 2007
o que eu posso fazer pra resolver isso?
Private Sub cmdOkImprimir_Click()
Dim prtDefault As Printer
Dim XPrint As Printer
Dim prtTemp As String
Dim prtPadrao As String
Dim n As Integer
'Nome da impressora temporaria...
prtTemp = "Matricial"
'Guarda o nome da impressora padrão
Set XPrint = Application.Printer
prtPadrao = XPrint.DeviceName
'Busca o numero da impressora temporaria
For Each XPrint In Printers
If XPrint.DeviceName = prtTemp Then
Exit For
End If
n = n + 1
Next
'Efetiva a impressora temporaria como padrão
Set Application.Printer = Application.Printers(n)
'Mostra os dados da impressora padrão
Set prtDefault = Application.Printer
With prtDefault
MsgBox "Device name: " & .DeviceName & vbCr _
& "Driver name: " & .DriverName & vbCr _
& "Port: " & .Port
End With
'imprime o relatório (etiqueta)
DoCmd.OpenReport "relImprimriAso", acViewNormal
'Volta para a impressora padrão
n = 0
For Each XPrint In Printers
If XPrint.DeviceName = prtPadrao Then
Exit For
End If
n = n + 1
Next
Set Application.Printer = Application.Printers(n)
End Sub
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.