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]Extrair nome do arquivo em uma sequencia de pasta

    Compartilhe
    avatar
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12229
    Registrado : 01/03/2011

    [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  HARYSOHN em 6/8/2012, 16:57

    Bem amigos... consegui algo atraves do Mid e IsStr

    ArquivoPDF = Mid(.ReturnFile, (InStr(55, .ReturnFile, "\", 1)), 100)


    O que ocorre é que uma das pastas como se trata do usuario do windows, ela pode ter o comprimento diferente sendo assim a possição 55 seria alterada dando distoção na função

    Neste codigo que fiz, ele pega a primeira barra apos a posição 55, ocorre que a palavra em vermelho tem tamanho variável e dependendo do tamanho a posição 55 nao seria correta. COmo fazer para pegar apenas no nome do arquivo apos a pasta downloads?

    C:\Documents and Settings\cliente\Meus documentos\Downloads


    Cumpeimentos.
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  JPaulo em 6/8/2012, 17:40

    Grande, veja o simples;

    Dim strCaminho As String
    strCaminho="C:\Documents and Settings\cliente\Meus documentos\Downloads\"
    Me.SeuCampo = Mid([strCaminho], InStrRev([strCaminho], "\") + 1)


    Se na pasta Downloads estiver isto:
    C:\Documents and Settings\cliente\Meus documentos\Downloads\teste.doc

    Devolve isto:
    teste.doc




    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

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

    Ou ainda: Aqui (Novo)

    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.]
    avatar
    Jungli
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  Jungli em 6/8/2012, 17:47

    Boa tarde outro exemplo:
    Nele uso a função Environ para pegar o usuário logado na máquina.

    Dim arq, temp, caminho As String
    caminho = "C:\Documents and Settings\" & Environ("UserName") & "\Meus documentos\Downloads\hhhhhhhhhhhhhhhh.pdf"
    temp = 26 + Len(Environ("UserName")) + 27
    arq = Mid(caminho, temp + 1)
    MsgBox arq
    avatar
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12229
    Registrado : 01/03/2011

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  HARYSOHN em 6/8/2012, 19:32

    Boas Jp e Jungli... Eu realmente estava procurando pela instrução reverse.. porem não me lembrava a sintaxe correta. Estava a procurar apenas por StrRev... ..


    Grato.
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  JPaulo em 6/8/2012, 19:51

    Resolveu, resolvido está.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

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

    Ou ainda: Aqui (Novo)

    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.]

    Ivair Martins
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 28/03/2012

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  Ivair Martins em 12/9/2012, 13:32

    Bom dia Jpaulo

    Eu usei esse seu exemplo para retornar o nome do arquivo EX: Teste.doc, aí tudo bem. Mas eu queria que salvasse esse arquivo em uma Pasta Criada via codigo VBA no mesmo caminho do BD EX:C:\Minhapasta\teste.doc, eu ia abrir outro post mas vi esse e resolvi aproveita-lo não sei se isso é o certo pq ele já estava como resolvido, se não for me descupe.

    Obrigado....
    avatar
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12229
    Registrado : 01/03/2011

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  HARYSOHN em 12/9/2012, 15:36

    Se o assunto tem a ver com o tópico, não tem problema não.

    Veja este exemplo, nele você move ou copia arquivos

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

    Cumprimentos.

    Ivair Martins
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 28/03/2012

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  Ivair Martins em 12/9/2012, 16:47

    Boa tarde PILOTO

    Eu abri o programa ele é muito bom, é até mais que eu precisava vou tentar adaptá-lo no meu sistema, mas na questão de criar um pasta (FIXA) no mesmo camimnho do banco de dados para salvar diretamente dentro dela isso seria possivel, pq um outro usuário poderia exclui-la e o sistema daria erro.
    Obs: No programa que vc me enviou eu tenho que selecionar a pasta de destino, no meu caso eu quero deixar o destino fixo, posso até colocar o caminho em uma caixa de texto e criar a pasta manualmente EX:c:\fotos, mas como eu disse e se o usuário excluir esse pasta, teria que ter um código VBA que quando não encontrasse a pasta criaria uma com o nome Fotos sempre no caminho do BD.
    Desculpe a extensão.

    Obrigado...
    avatar
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12229
    Registrado : 01/03/2011

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  HARYSOHN em 12/9/2012, 17:11

    Boas Ivair..

    Para criar uma pasta:



    Agora é necessário checar se existe antes de criar... Algo assim:


    Dim fso, Pasta


    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Pasta = fso.GetFolder(CurrentProject.Path & "\SuaPasta")

    If Not fso.FolderExists(Pasta) Then

    MkDir "Caminho" & Me!CaixaTexto (onde a caixa texto conterá o nome da pasta

    Else

    bla bla bla

    End If




    Cumprimentos

    Ivair Martins
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 28/03/2012

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  Ivair Martins em 12/9/2012, 17:39

    Boa tarde PILOTO

    Ali onde vc escreveu para criar uma pasta não está faltando os codigos. ou eu entendi errado pq as outras linhas de codigo é para verificar se a pasta existe não é?

    Obrigado...
    avatar
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12229
    Registrado : 01/03/2011

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  HARYSOHN em 12/9/2012, 18:31

    Para criar é:

    MkDir "Caminho" & Me!CaixaTexto (onde a caixa texto conterá o nome da pasta)

    Onde caminho pode ser o CurrentProject.Path... + o nome da pasta


    Cumprimentos.

    Ivair Martins
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 28/03/2012

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  Ivair Martins em 12/9/2012, 19:10

    Oi Beleza eu entendi, só que da erro quando não existe a pasta.
    Erro: Caminho não encontrado.

    O Erro dá na linha ""Set Pasta = fso.GetFolder(CurrentProject.Path & "\Fotos dos Produtos")""
    Eu acho que tem que fazer alguma manipulação de ERRO, mas não sei como.

    O codigo que eu coloquei foi esse:

    Private Sub Comando16_Click()
    Dim fso, Pasta
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Pasta = fso.GetFolder(CurrentProject.Path & "\Fotos dos Produtos")
    If Not fso.FolderExists(Pasta) Then
    MkDir (CurrentProject.Path & "\Fotos dos Produtos")
    Else
    MsgBox "bla bla bla"
    End If
    End Sub
    avatar
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12229
    Registrado : 01/03/2011

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  HARYSOHN em 12/9/2012, 19:13

    Envie o bd apenas com os objetos envolvidos que vejo pra ti.

    Cumprimentos.

    Ivair Martins
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 28/03/2012

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  Ivair Martins em 12/9/2012, 20:53

    Boa tarde PILOTO

    Eu coloquei somente o tratamanto de Erro ficou assim: Vou Deixar assim por enquanto.
    Dim fso, Pasta
    On Error GoTo CaminhoNaoEncontrado
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Pasta = fso.GetFolder(CurrentProject.Path & "\Fotos dos Produtos")
    If Not fso.FolderExists(Pasta) Then
    MkDir (CurrentProject.Path & "\Fotos dos Produtos")
    Else
    MsgBox "bla bla bla"
    End If
    Exit Sub
    CaminhoNaoEncontrado:
    MkDir (CurrentProject.Path & "\Fotos dos Produtos")

    Dim fso, Pasta
    On Error GoTo CaminhoNaoEncontrado
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Pasta = fso.GetFolder(CurrentProject.Path & "\Fotos dos Produtos")
    If Not fso.FolderExists(Pasta) Then
    MkDir (CurrentProject.Path & "\Fotos dos Produtos")
    Else
    MsgBox "bla bla bla"
    End If
    Exit Sub
    CaminhoNaoEncontrado:
    MkDir (CurrentProject.Path & "\Fotos dos Produtos")

    Obrigado Pela ajuda
    Abraços..
    avatar
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12229
    Registrado : 01/03/2011

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  HARYSOHN em 12/9/2012, 23:36

    O tratamento de erros é imprescindível em uma função ou procedmento. No entanto ele é para quando no código não se consegue resolver a questão... Se é resolvível pela correção do código é necessário corrigí-lo.

    No entanto se está bom assim pra você...Resolvido Está.
    O Fórum agradece o retorno.
    avatar
    allysson1511
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 25
    Registrado : 27/04/2018

    pergunta

    Mensagem  allysson1511 em 24/8/2018, 18:13

    Ola JPaulo boa tarde,

    eu estou utilizando o código que você disponibilizou Me.SeuCampo = Mid([strCaminho], InStrRev([strCaminho], "\") + 1) mas ele está retornando o nome do arquivo e a extensão dele.
    como que eu faço para retornar somente o nome do arquivo sem a extensão!

    att,
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Extrair nome do arquivo em uma sequencia de pasta

    Mensagem  JPaulo em 29/8/2018, 14:06

    Ola;

    Assim é só o nome do ficheiro sem a extensão:
    Código:
    Me.SeuCampo = Mid(strCaminho, InStrRev(strCaminho, "\") + 1, InStrRev(strCaminho, ".") - InStrRev(strCaminho, "\") - 1)


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

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

    Ou ainda: Aqui (Novo)

    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: 16/12/2018, 15:42