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


3 participantes

    Tratamento de erro ao inviar para a porta Com

    avatar
    Naldo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 384
    Registrado : 16/02/2011

    Tratamento de erro ao inviar para a porta Com Empty [Resolvido]Tratamento de erro ao inviar para a porta Com

    Mensagem  Naldo 28/3/2013, 14:36

    Peço auxilio aos amigos do fórum para resolver mais uma questão.
    Uso o seguinte código para enviar impressão de cupom não fiscal pra a porta seria.

    Dim PortImp As String
    Open "COM4:" For Output As #1

    Caso a impressora não esteja ligada ou a porta não foi encontrada da o seguinte erro:
    Erro em tempo de execução ‘52’:
    Nome ou número de arquivo incorreto.

    Como devo fazer para dar uma msg de erro que a Impressora esta desligada, confira.

    Sou grato pela atenção de todos.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Tratamento de erro ao inviar para a porta Com Empty Re: Tratamento de erro ao inviar para a porta Com

    Mensagem  criquio 28/3/2013, 15:50

    Try something like below:

    Código:
    On Error GoTo TErro

    Dim PortImp As String
    Open "COM4:" For Output As #1

    TErro:
        If Err.Number = 52 Then
            MsgBox "Erro de impressão. A impressora parece estar desligada ou desconectada.", vbCritical, "Erro de impressão"
        End If


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Naldo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 384
    Registrado : 16/02/2011

    Tratamento de erro ao inviar para a porta Com Empty Re: Tratamento de erro ao inviar para a porta Com

    Mensagem  Naldo 29/3/2013, 01:11

    Saudaçoes Criquio.

    Ok com as portas COM? deu certinho, mas com a porta LPT1 não funciona, vc poder me dar uma luz na porta LPT1 como teria que ser.

    Sou grato pela sua atenção.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Tratamento de erro ao inviar para a porta Com Empty Re: Tratamento de erro ao inviar para a porta Com

    Mensagem  criquio 29/3/2013, 01:28

    Apresenta mensagem com outro número de de erro? Se sim, basta incluir esse número

    If Err.Number = 52 Or Err.Number = OutroNumero Then


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Naldo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 384
    Registrado : 16/02/2011

    Tratamento de erro ao inviar para a porta Com Empty Re: Tratamento de erro ao inviar para a porta Com

    Mensagem  Naldo 29/3/2013, 23:19

    Saudaçoes Criquio.

    Ficou desta maneira mas não deu certo, em que esta errado??
    Sou garto pela sua atenção.

    On Error GoTo TErro
    Dim PortImp As String
    LTP1: '(obs. Com e sem esta linha não deu certo)
    Open "LPT1:" For Output Access Write As #1
    TErro:
    If err.Number = 52 Or err.Number = OutroNumero Then
    MsgBox "Erro de impressão. A impressora parece estar desligada ou desconectada.", vbCritical, " Erro na impressora."
    End If
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Tratamento de erro ao inviar para a porta Com Empty Re: Tratamento de erro ao inviar para a porta Com

    Mensagem  criquio 29/3/2013, 23:37

    No lugar de OutroNumero você deve colocar o outro número, caso apareça outro número de erro na mensagem.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Naldo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 384
    Registrado : 16/02/2011

    Tratamento de erro ao inviar para a porta Com Empty Re: Tratamento de erro ao inviar para a porta Com

    Mensagem  Naldo 1/4/2013, 22:16

    Só funcionou com as portas COM, com a porta LPT1 mesmo com a impressora desligada não da erro algum ao clicar no botão manda a impressão normalmente.

    Desta maneira

    On Error GoTo TErro
    Dim PortImp As String
    LTP1:
    Open "LPT1:" For Output Access Write As #1
    TErro:
    If err.Number = 52 Or err.Number
    MsgBox "Erro de impressão. A impressora parece estar desligada ou desconectada.", vbCritical, " Erro na impressora Porta LPT1:"
    End If

    Sou muito grato pela sua atenção.
    Jungli
    Jungli
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 713
    Registrado : 07/05/2010

    Tratamento de erro ao inviar para a porta Com Empty Re: Tratamento de erro ao inviar para a porta Com

    Mensagem  Jungli 3/4/2013, 00:16

    Boa noite ...
    tente usar este código para verificar a porta antes de imprimir
    não coloco aqui o autor pois desconheço...

    'With Sleep function, system uses only minimal CPU-usage
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    'With Inp32, we can read ports fast with visual basic
    Public Declare Function Inp Lib "inpout32.dll" _
    Alias "Inp32" (ByVal PortAddress As Integer) As Integer
    'We could use Out32 to write to ports, but we don't need it
    'Public Declare Sub Out Lib "inpout32.dll" _
    Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

    Public DataLeds As Integer 'Valor inteiro para armazenar porta de entrada
    Public UserCancel As Boolean 'usado para finalizar loops
    Public LPTport As Integer 'Endereço da Porta usada
    Public ByteExt As Integer 'Loop variable
    Public SleepValue As Integer 'Interval for updating 'leds'

    Function ImpressoraON() As Boolean
    'LPTport = 632 ''Set Porta (LPT2)
    LPTport = 888 'Set Porta (LPT1)
    DataLeds = Inp(LPTport) 'Saída de dados 0-7

    DataLeds = Inp(LPTport + 1) 'LPT port Feedbacks bytes 3 to 7
    'Error causado pela impressora (tipo falta de papel/Cabo mal conectado,Desligada,etc)
    'If DataLeds = 8 Or DataLeds = 128 Then
    If DataLeds = 223 Then 'está normal
    ImpressoraON = True
    Else
    ImpressoraON = False
    End If
    End Function

    'Eu uso asim:

    ' Verifica Impressora
    'If Not ImpressoraON Then
    'msg = "Verifique a impressora" & Chr(13) _
    & "- Veja se está ligada" & Chr(13) & _
    "- Verifique se tem papel" & Chr(13) & _
    "- Verifique o cabo de conexão"
    'MsgBox msg, 48, "Erro na Impressora"
    'Exit Sub
    'End If

    vais precisar da dll que está em anexo
    Anexos
    Tratamento de erro ao inviar para a porta Com Attachmentinpout32.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (17 Kb) Baixado 20 vez(es)
    avatar
    Naldo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 384
    Registrado : 16/02/2011

    Tratamento de erro ao inviar para a porta Com Empty Re: Tratamento de erro ao inviar para a porta Com

    Mensagem  Naldo 25/4/2013, 00:54

    Tentei fazer funcionar por aqui e não dei conta, não tenho muito conhecimento em VBA, sou muito grato pela sua atenção e desculpe a demora para responder.
    Grande abraço a todos.

    Conteúdo patrocinado


    Tratamento de erro ao inviar para a porta Com Empty Re: Tratamento de erro ao inviar para a porta Com

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 3/5/2024, 00:32