MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    Impressora Tanka não corta o papel

    Helder Milhome
    Helder Milhome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 145
    Registrado : 03/07/2011

    Impressora Tanka não corta o papel Empty Impressora Tanka não corta o papel

    Mensagem  Helder Milhome 25/9/2024, 20:23

    Boa tarde a todos
    Tenho uma impressora termica Tanka
    e ela não corta o papel pelo access...
    tenho outro sistema SGBR fiscal que corta.
    ja usei esse essa linha de comando
    sem resultado.

    'comando de corte
    Print #1, Chr(27) + "i"

    tentei esse
    Print #1, Chr$(&H1D); "V"; Chr$(66); Chr$(0);

    os dois sem resultados

    Alguem pode mim dar uma ajuda?
    Desde Já Agradeço
    Helder

    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    Impressora Tanka não corta o papel Empty Re: Impressora Tanka não corta o papel

    Mensagem  Silvio 18/10/2024, 11:40

    Tente isso abaixo...
    Crie um modulo....e copie esse código, lembrando...que é uma tentativa e não uma solução !!!
    Salve ele, como sendo...cortapapel ...Faça a chamada dessa rotina no botão de impressão, tipo....call cortapapel



    Código:
    Private Function SetPrinterProperty(ByVal iPropertyType As Long, ByVal iPropertyValue As Long) As Boolean
        Dim hPrinter As Long
        Dim pd As PRINTER_DEFAULTS
        Dim pinfo As PRINTER_INFO_2
        Dim dm As DEVMODE
        Dim sPrinterName As String
        Dim yDevModeData() As Byte
        Dim yPInfoMemory() As Byte
        Dim iBytesNeeded As Long
        Dim iRet As Long
        Dim iJunk As Long
        Dim iCount As Long

        On Error GoTo cleanup
        ' Obter o nome da impressora atual
        sPrinterName = Trim$(Left$(ActivePrinter, InStr(ActivePrinter, " on ")))
        ' Abrir a impressora
        pd.DesiredAccess = PRINTER_NORMAL_ACCESS
        iRet = OpenPrinter(sPrinterName, hPrinter, pd)
        If (iRet = 0) Or (hPrinter = 0) Then
            ' Não é possível acessar a impressora atual. Sair sem fazer nada
            Exit Function
        End If
        ' Obter o tamanho da estrutura DEVMODE para ser carregada
        iRet = DocumentProperties(0, hPrinter, sPrinterName, 0, 0, 0)
        If (iRet < 0) Then
            ' Não é possível acessar as propriedades da impressora. Ir para a limpeza
            GoTo cleanup
        End If
        ' Garantir que o array de bytes seja grande o suficiente
        ReDim yDevModeData(0 To iRet + 100) As Byte
        ' Carregar o array de bytes
        iRet = DocumentProperties(0, hPrinter, sPrinterName, VarPtr(yDevModeData(0)), 0, DM_OUT_BUFFER)
        If (iRet < 0) Then
            GoTo cleanup
        End If
        ' Copiar o array de bytes para uma estrutura para que possa ser manipulada
        Call CopyMemory(dm, yDevModeData(0), Len(dm))
        If dm.dmFields And iPropertyType = 0 Then
            ' A propriedade desejada não está disponível. Sair para a limpeza
            GoTo cleanup
        End If
        ' Definir a propriedade para o valor apropriado
        Select Case iPropertyType
            Case DM_ORIENTATION
                dm.dmOrientation = iPropertyValue
            Case DM_PAPERSIZE
                dm.dmPaperSize = iPropertyValue
            Case DM_PAPERLENGTH
                dm.dmPaperLength = iPropertyValue
            Case DM_PAPERWIDTH
                dm.dmPaperWidth = iPropertyValue
            Case DM_DEFAULTSOURCE
                dm.dmDefaultSource = iPropertyValue
            Case DM_PRINTQUALITY
                dm.dmPrintQuality = iPropertyValue
            Case DM_COLOR
                dm.dmColor = iPropertyValue
            Case DM_DUPLEX
                dm.dmDuplex = iPropertyValue
        End Select
        ' Carregar a estrutura de volta no array de bytes
        Call CopyMemory(yDevModeData(0), dm, Len(dm))
        ' Informar a impressora sobre a nova propriedade
        iRet = DocumentProperties(0, hPrinter, sPrinterName, VarPtr(yDevModeData(0)), 0, DM_OUT_BUFFER)
        If (iRet < 0) Then
            GoTo cleanup
        End If
        SetPrinterProperty = True
    cleanup:
        ' Fechar a impressora
        ClosePrinter hPrinter
    End Function

    Este código VBA define várias propriedades da impressora, como orientação, tamanho do papel, qualidade de impressão, etc... Você pode adaptar este código para atender às suas necessidades específicas.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."

    Helder Milhome gosta desta mensagem

    Helder Milhome
    Helder Milhome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 145
    Registrado : 03/07/2011

    Impressora Tanka não corta o papel Empty Re: Impressora Tanka não corta o papel

    Mensagem  Helder Milhome 18/10/2024, 11:47

    Bom dia
    vou tentar e retorno
    grato
    Helder

    Conteúdo patrocinado


    Impressora Tanka não corta o papel Empty Re: Impressora Tanka não corta o papel

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 11:21