MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Abrir ficheiro com API do Windows

    Compartilhe

    Ricardo84
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 49
    Registrado : 18/01/2014

    [Resolvido]Abrir ficheiro com API do Windows

    Mensagem  Ricardo84 em Seg 25 Maio 2015, 21:06

    Tenho andado à procura e não encontro aquilo que quero. O mais parecido que encontrei foi uma API que me localiza o ficheiro.

    Para ser mais fácil perceber o que quero, imagine-se que quero abrir um filme (guardado em C:\Users\Ricardo\Videos) diretamente a partir do access que irá reproduzir com o leitor de vídeo pre-defenido. Já experimentei fazer com uma hiperligação e funcionou, mas se esse vídeo estiver numa unidade móvel, a drive hj pode ser E:\, amanhã pode ser F:\. Sei que poderia mudar a letra da drive, mas deve dar para o access o access pesquisar basesado num campo de texto editável e o resto da localização.

    Por exemplo:

    Ao clicar no botão de comando ele vai para o seguinte caminho [TxtDrive] & ":\Users\Ricardo\Videos", sendo que TxtDrive seria um campo que seria editável logo ao abrir a BD.

    O código da API que localiza um ficheiro e que vi aqui no fórum está aqui:

    [Você precisa estar registrado e conectado para ver este link.]

    Obrigado


    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Abrir ficheiro com API do Windows

    Mensagem  JPaulo em Qua 27 Maio 2015, 12:32

    Ola;

    Penso que a sloução passa por este exemplo que lhe disponibilizo;
    Ele lê automaticamente todas as Drives mapeadas no PC;

    [Você precisa estar registrado e conectado para ver este link.]



    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Abrir ficheiro com API do Windows

    Mensagem  JPaulo em Qui 28 Maio 2015, 15:51

    E ae, gostou da ideia ???

    É só usar a variável da caixa de texto, para informar a Letra do Drive.

    Aguardo....


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Ricardo84
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 49
    Registrado : 18/01/2014

    Re: [Resolvido]Abrir ficheiro com API do Windows

    Mensagem  Ricardo84 em Qui 28 Maio 2015, 21:26

    Desculpe a demora. Tinha dado uma vista de olhos mas não tinha tentado aplicar e como eu não sou nenhum "pro" ainda demorei um pouco a conseguir fazer funcionar como queria.

    De qualquer das formas ainda precisava de uma ajuda noutro ponto. Está tudo a funcionar bem, mas a extensão do ficheiro de video ou música difere (mp4, mkv, avi, mp3).

    Qual a melhor maneira para fazer com que o botão siga a hiperligação e procure o ficheiro com a extensão mp4, se não encontrar vai procurar por mkv e por aí em diante.

    Eu usei o código que me deu para mapear as drives e dps usei um código que usei do help do VBA (FollowHyperlink), mas a extensão ainda não percebi bem como devo fazer.

    O código que estou a usar para seguir o Hyperlink é este:

    Private Function GetUserAddress() As Boolean
       Dim strInput As String
       On Error GoTo Error_GetUserAddress
       strInput = Me.txtDrive.value & Me.txtAddress.value 'InputBox("Enter a valid address") - o inputbox era o qque vinha de origem
       Application.FollowHyperlink strInput, , True
       GetUserAddress = True

    Exit_GetUserAddress:
       Exit Function

    Error_GetUserAddress:
       MsgBox Err & ": " & Err.Description
       GetUserAddress = False
       Resume Exit_GetUserAddress
    End Function

    Private Sub cmdFollowLink_Click()
       
       Call GetUserAddress
       
    End Sub

    Sub CallGetUserAddress()

       If GetUserAddress = True Then
           MsgBox "Successfully followed hyperlink."
       Else
           MsgBox "Could not follow hyperlink."
           End If

    End Sub

    o valor de TxtAdress é determinado por uma expressão que pus na Consulta, visto que nomeio todos os Videos da msm forma, (dps vou um TrataErro caso algo corra mal) mas não sei como dizer a extensão. Queria fazer algo do género

    "Dim strExtensao as String"

    Aí o strInput seria = Me.txtDrive.value & Me.txtAddress.value & strExtensao

    Compliquei a explicação, rsrsrs

    e ainda tenho este por resolver...

    [Você precisa estar registrado e conectado para ver este link.]

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Abrir ficheiro com API do Windows

    Mensagem  JPaulo em Sex 29 Maio 2015, 16:06

    Não necessita dos códigos que está a usar, veja o simples no pressionar de um botão no seu form;

    'Supondo que:
    'Me.txtDrive.Value = "C:\"
    'Me.txtAddress.Value = "Pasta1\Pasta2\NomeDoFicheiro" sem extensão


    Código:
    Private Sub SeuBotao_Click()
    'JPaulo ® maximoaccess
        Dim StrFile As String
        Dim strExtensao As String
        Dim strAbreFicheiroEncontrado As String
       
        StrFile = Dir(Me.txtDrive & Me.txtAddress & "*")
        Do While Len(StrFile) > 0
            strExtensao = Right(StrFile, Len(StrFile) - InStrRev(StrFile, "."))
            strAbreFicheiroEncontrado = Me.txtDrive & Me.txtAddress & "." & strExtensao
              Application.FollowHyperlink strAbreFicheiroEncontrado, , True
            StrFile = Dir
      Loop
    End Sub






    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Ricardo84
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 49
    Registrado : 18/01/2014

    Re: [Resolvido]Abrir ficheiro com API do Windows

    Mensagem  Ricardo84 em Sex 29 Maio 2015, 20:07

    O código funciona bem Smile. No entanto como ele abre todo o tipo de ficheiro com aquele nome, abre também o ficheiro srt das legendas. Não dá para criar Uma exceção e não abrir ficheiro Srt ou então que só abra ficheiros mp4, mkv e avi .

    Se tiver tempo de uma vista de olhos no outro tópico que postei. O link está na minha última msg

    Obrigado pela ajuda Smile

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Abrir ficheiro com API do Windows

    Mensagem  JPaulo em Seg 01 Jun 2015, 12:08

    Teste e retorne por favor;

    Código:

    Private Sub SeuBotao_Click()
    'JPaulo ® maximoaccess
        Dim StrFile As String
        Dim strExtensao As String
        Dim strAbreFicheiroEncontrado As String
       
        StrFile = Dir(Me.txtDrive & Me.txtAddress & "*")
        Do While Len(StrFile) > 0
            strExtensao = Right(StrFile, Len(StrFile) - InStrRev(StrFile, "."))
            'Se encontrar ficheiros com a extensão mp4, mkv ou avi, vai abrir
            If (strExtensao = "mp4" Or strExtensao = "mkv" Or strExtensao = "avi") Then
            'Coloca na variavel o caminho com o nome do ficheiro e a extenção
              strAbreFicheiroEncontrado = Me.txtDrive & Me.txtAddress & "." & strExtensao
            'Abre o ficheiro encontrado
              Application.FollowHyperlink strAbreFicheiroEncontrado, , True
            StrFile = Dir
            Else
            'Se não, volta a entrar no Loop
            End If
      Loop
    End Sub


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Abrir ficheiro com API do Windows

    Mensagem  JPaulo em Ter 02 Jun 2015, 10:43

    E ae, funfou ?


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Ricardo84
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 49
    Registrado : 18/01/2014

    Re: [Resolvido]Abrir ficheiro com API do Windows

    Mensagem  Ricardo84 em Qua 03 Jun 2015, 12:47

    Desculpe so responder agora mas não tenho tido tempo para experimentar. No entanto já testei, Mas sem sucesso. Como o Else está em branco e eu acho que ele encontra primeiro o srt, já não faz nada. No entanto, la fui tentando de outras maneiras e já consegui. Smile dps vou postar como fiz, provavelmente não foi da melhor maneira, Mas funciona...

    Também ando a tentar resolver a situação dos numeradores mas sem gd sucesso até agora. Acho que vou começar do zero e tentar algo diferente. Dps vou ver se a Malta daqui melhora a coisa Smile

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Abrir ficheiro com API do Windows

    Mensagem  JPaulo em Sex 05 Jun 2015, 13:15

    O Else é mesmo assim, é para estar vazio;

    Se quiser testar, aqui funciona perfeito.

    Não esquecer de retornar se deu certo, para encerrar-mos o tópico;

    Código:
    Private Sub SeuBotao_Click()
    'JPaulo ® maximoaccess
        Dim StrFile As String
        Dim strExtensao As String
        Dim strAbreFicheiroEncontrado As String

    StrFile = Dir(Me.txtDrive & Me.txtAddress & "*")
    While StrFile <> ""
              strExtensao = Right(StrFile, Len(StrFile) - InStrRev(StrFile, "."))
            'Se encontrar ficheiros com a extensão mp4, mkv ou avi, vai abrir
            If (strExtensao = "mp4" Or strExtensao = "mkv" Or strExtensao = "avi") Then
            'Coloca na variavel o caminho com o nome do ficheiro e a extenção
               strAbreFicheiroEncontrado = Me.txtDrive & Me.txtAddress & "." & strExtensao
            'Abre o ficheiro encontrado
               Application.FollowHyperlink strAbreFicheiroEncontrado, , True
            StrFile = Dir
            Exit Sub
            Else
            'Não faz nada
            End If
       StrFile = Dir() 'Proximo ficheiro
    Wend
    End Sub


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Ricardo84
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 49
    Registrado : 18/01/2014

    Re: [Resolvido]Abrir ficheiro com API do Windows

    Mensagem  Ricardo84 em Dom 07 Jun 2015, 10:41

    Boas, dscp a demora, mas tenho estado a frequentar cursos após o trabalho e o tempo não tem sido mto. Está a funcionar bem Smile

    Obrigado pela ajuda e pela disponibilidade Wink

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Abrir ficheiro com API do Windows

    Mensagem  JPaulo em Seg 08 Jun 2015, 13:11

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

      Data/hora atual: Sab 03 Dez 2016, 02:24