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


    [Resolvido]UTILIZAÇÃO DA FUNÇÃO fHandleFile com variáveis

    avatar
    germano wenzel
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 30/04/2014

    [Resolvido]UTILIZAÇÃO DA FUNÇÃO fHandleFile com variáveis Empty [Resolvido]UTILIZAÇÃO DA FUNÇÃO fHandleFile com variáveis

    Mensagem  germano wenzel 28/4/2017, 13:55

    Bom pessoal, esta é minha primeira postagem no forum.
    Tenho um formulário que com um campo lista que filtra alguns documentos com números específicos que possuem arquivos PDF gravados em uma determinada pasta de meu computador.

    Estou utilizando a função fHandleFile(arg,arg) para abrir os arquivos PDF quando clico em um determinado botão.

    A questão é que quando eu coloco a linha completa no primeiro argumento, como abaixo, o arquivo PDF é encontrado e abre sem problemas.

       exemplo: Call fHandleFile("\\pe7466nt010\AA\2017\DOCs\04_2017\RAT_2045043.pdf", 1)

    Porém eu necessito que parte do argumento seja varável, ou seja, localize o documento de acordo com aquele vinculado ao registro que escolho na lista, por exemplo - RAT_xxxxx.pdf.

       exemplo2: Call fHandleFile("\\pe7466nt010\AA\2017\DOCs\04_2017\" & nomeArq, 1), onde o nomeArq varia de acordo com a linha selecionada

    Segue o código utilizado abaixo

    Private sub cmb_busca_click()
           Dim nomeArq As String

           nomeArq = "RAT_" & RAT1 & ".pdf"
           Call fHandleFile("\\pe7466nt010\AA\2017\DOCs\04_2017\" & nomeArq, 1)

    End Sub

    Public Function fHandleFile(stFile As String, lShowHow As Long)
    Dim lRet As Long, varTaskID As Variant
    Dim stRet As String
       'First try ShellExecute
       lRet = apiShellExecute(hWndAccessApp, vbNullString, _
               stFile, vbNullString, vbNullString, lShowHow)

       If lRet > ERROR_SUCCESS Then
           stRet = vbNullString
           lRet = -1
       Else
           Select Case lRet
               Case ERROR_NO_ASSOC:
                   'Try the OpenWith dialog
                   varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " _
                           & stFile, Win_Normal)
                   lRet = (varTaskID <> 0)
               Case ERROR_OUT_OF_MEM:
                   stRet = "Error: Out of Memory/Resources. Couldn't Execute!"
               Case ERROR_FILE_NOT_FOUND:
                   stRet = "Error: File not found.  Couldn't Execute!"
               Case ERROR_PATH_NOT_FOUND:
                   stRet = "Error: Path not found. Couldn't Execute!"
               Case ERROR_BAD_FORMAT:
                   stRet = "Error:  Bad File Format. Couldn't Execute!"
               Case Else:
           End Select
       End If
       fHandleFile = lRet & _
                   IIf(stRet = "", vbNullString, ", " & stRet)
    End Function
    '************ Code End **********

    Alguém poderia me dar uma luz?

    Grato
    avatar
    germano wenzel
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 30/04/2014

    [Resolvido]UTILIZAÇÃO DA FUNÇÃO fHandleFile com variáveis Empty Re: [Resolvido]UTILIZAÇÃO DA FUNÇÃO fHandleFile com variáveis

    Mensagem  germano wenzel 28/4/2017, 14:57

    Pessoal,

    Desculpem_me, descobri o problema!

    na montagem do nome do arquivo criava um espaço e por este motivo o PDF não era localizado.

    Mas deixo ai o código para quem quiser utilizar tal rotina.

    obrigado

      Data/hora atual: 19/4/2024, 11:29