Boa noite amigos, venho aqui solicitar a ajudar do pessoal, estou utilizando o exemplo do tópico abaixo para imprimir um relatório em uma impressora específica (está funcionando corretamente) porem já quebrei a cabeça aqui e não consegui resolver, acontece que eu configuro o relatório para o padrão de impressão (acPRPSFanfoldLglGerman 41 Formulário Contínuo Ofício Alemão (216 mm x 330 mm)) aciono o código abaixo porem ele altera o padrão para formato A4 dai bagunça todo meu relatório que vou imprimir na impressora térmica.
retirado do tópico: https://www.maximoaccess.com/t6693-resolvidoimprimir-ficha-de-cadastro-em-impressora-nao-padrao
obs: percebi que ele muda quando chega na parte:
retirado do tópico: https://www.maximoaccess.com/t6693-resolvidoimprimir-ficha-de-cadastro-em-impressora-nao-padrao
- Código:
Public Function sendPrinter_generic()
Dim j As Byte, st As Boolean, Padrão As String
Dim idx As Byte, prt As Printer
Dim xtrImpressora$
On Error Resume Next
xtrImpressora = Nz(DLookup("nomeImpressora", "tabImpressoraSelecionada"), "Null") ' Aqui armazeno o nome da impressora na variável varNomeImpressa
If xtrImpressora = "Null" Then
MsgBox "Nenhuma impressora configurada, configure no menu 'Manutenção' -> 'configurar impressora de cupom padrão'", vbCritical, "Atenção"
Exit Function
Else
xtrImpressora = LTrim(RTrim(xtrImpressora))
End If
j = 0: st = False
Padrão = Application.Printer.DeviceName
For Each prt In Application.Printers
Debug.Print prt.DeviceName
If prt.DeviceName = Padrão Then idx = j
If prt.DeviceName = xtrImpressora Then 'a impressora desejada
st = True
Exit For
End If
j = j + 1
Next
If st = False Then
j = idx 'Se a impressora não for encontrada, imprime na impressora atual, se comentar a linha Exit Function
Exit Function
End If
DoCmd.OpenReport "Rel_Cupom_Nao_Fiscal_generic", acViewPreview, WindowMode:=acHidden 'Abre o rel de forma oculta
Set Reports("Rel_Cupom_Nao_Fiscal_generic").Printer = Application.Printers(j) 'seta a impressora
DoCmd.OpenReport "Rel_Cupom_Nao_Fiscal_generic", acViewNormal, , , WindowMode:=acHidden 'Imprime
DoCmd.Close acReport, "Rel_Cupom_Nao_Fiscal_generic"
End Function
obs: percebi que ele muda quando chega na parte:
- Código:
Set Reports("Rel_Cupom_Nao_Fiscal_generic").Printer = Application.Printers(j) 'seta a impressora