MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Imprimir relatório em uma impressora específica em um formato específico

    alozs
    alozs
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 07/02/2018

    [Resolvido]Imprimir relatório em uma impressora específica em um formato específico Empty [Resolvido]Imprimir relatório em uma impressora específica em um formato específico

    Mensagem  alozs em 21/11/2019, 01:18

    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

    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
    bigfill
    bigfill
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 402
    Registrado : 27/03/2015

    [Resolvido]Imprimir relatório em uma impressora específica em um formato específico Empty Re: [Resolvido]Imprimir relatório em uma impressora específica em um formato específico

    Mensagem  bigfill em 21/11/2019, 11:12

    Bom dia!

    alozs, Recentemente tive que configurar uma impressão de etiqueta na impressora Térmica. E para ajustar tive que mexer na configuração de Escala da impressora.

    Tem que verificar qual o formato esta configurado na impressora.
    alozs
    alozs
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 07/02/2018

    [Resolvido]Imprimir relatório em uma impressora específica em um formato específico Empty Re: [Resolvido]Imprimir relatório em uma impressora específica em um formato específico

    Mensagem  alozs em 21/11/2019, 11:43

    Olá bigfill, então amigo se eu colocar pra abrir o relatório e mandar imprimir manualmente vai tranquilo da forma que eu configurei porem se eu utilizo o código acima ele reconfigura para A4 qualquer relatório.
    alozs
    alozs
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 07/02/2018

    [Resolvido]Imprimir relatório em uma impressora específica em um formato específico Empty Re: [Resolvido]Imprimir relatório em uma impressora específica em um formato específico

    Mensagem  alozs em 21/11/2019, 17:40

    Pessoal, consegui resolver o problema, adicionei o código abaixo  bounce

    Código:
    Reports("Rel_CupomNaoFiscal_generic").Printer.PaperSize = acPRPSFanfoldLglGerman

    ficando

    Código:
    DoCmd.OpenReport "Rel_Cupom_Nao_Fiscal", acViewDesign, WindowMode:=acHidden  'Abre o rel de forma oculta
    Set Reports("Rel_Cupom_Nao_Fiscal").Printer = Application.Printers(j) 'seta a impressora
    Reports("Rel_Cupom_Nao_Fiscal").Printer.PaperSize = acPRPSFanfoldLglGerman
    DoCmd.OpenReport "Rel_Cupom_Nao_Fiscal", acViewNormal, , , WindowMode:=acHidden 'Imprime
    DoCmd.Close acReport, "Rel_Cupom_Nao_Fiscal"
    bigfill
    bigfill
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 402
    Registrado : 27/03/2015

    [Resolvido]Imprimir relatório em uma impressora específica em um formato específico Empty Re: [Resolvido]Imprimir relatório em uma impressora específica em um formato específico

    Mensagem  bigfill em 22/11/2019, 15:06

    alozs, Que bom que conseguiu resolver. O fórum agradece pelo retorno cheers

      Data/hora atual: 27/5/2020, 22:33