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

    pegar o caminho da pasta

    Compartilhe

    baldocchi
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 03/11/2014

    pegar o caminho da pasta

    Mensagem  baldocchi em Qui 11 Ago 2016, 15:18

    Pessoal,

    Eu peguei um código no site da microsoft para selecionar arquivos. Até aí tudo bem, o que eu não sei fazer é pegar o caminho da pasta.

    Olha o código abaixo:

    Private Sub CmdAbrirPasta_Click()
    ' This requires a reference to the Microsoft Office 11.0 Object Library.

    Dim fDialog As Office.FileDialog
    Dim varFile As Variant

    ' Clear the list box contents.
    'Me.FileList.RowSource = ""

    ' Set up the File dialog box.
    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
    With fDialog
    ' Allow the user to make multiple selections in the dialog box.
    .AllowMultiSelect = True

    ' Set the title of the dialog box.
    .Title = "Select One or More Files"

    ' Clear out the current filters, and then add your own.
    .Filters.Clear
    .Filters.Add "Access Databases", "*.MDB"
    .Filters.Add "Access Projects", "*.ADP"
    .Filters.Add "All Files", "*.*"

    ' Show the dialog box. If the .Show method returns True, the
    ' user picked at least one file. If the .Show method returns
    ' False, the user clicked Cancel.
    If .Show = True Then

    ' ' Loop through each file that is selected and then add it to the list box.
    For Each varFile In .SelectedItems
    TxtCam.Value = varFile
    'Me.FileList.AddItem varFile
    Next
    Else
    MsgBox "You clicked Cancel in the file dialog box."
    End If
    End With
    End Sub


    tem que fazer referência para a Biblioteca Microsoft Office XX Object Library..

    Por favor, alguém pode me ajudar com isso? Obrigado
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4473
    Registrado : 15/03/2013

    Re: pegar o caminho da pasta

    Mensagem  ahteixeira em Qui 11 Ago 2016, 15:24

    Olá em que consiste "pegar o caminho da pasta".
    Pode explicar melhor?
    Abraço

    baldocchi
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 03/11/2014

    Re: pegar o caminho da pasta

    Mensagem  baldocchi em Sex 12 Ago 2016, 11:06

    eu estou tentando fazer um programa que faça uma busca personalizada dentro de pastas que o usuário escolher.

    O código que eu aprendi aqui com nossos colegas mostra como pegar todos os arquivos de dentro de uma pasta.

    Eu queria digitar algo: "mem" e buscar todos os arquivos que tenham "mem" no meio, ou buscar todos os ".xlsx", e assim por diante.

    é quase um gerenciador de arquivos do Windows.

    Como os usuários são muito fracos em Windows, eu queria criar esse idéia para facilitar o trabalho de todos.

    é nisso que consiste minha questão.
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3336
    Registrado : 14/08/2013

    Re: pegar o caminho da pasta

    Mensagem  FabioPaes em Sex 12 Ago 2016, 14:32

    Para pegar o caminho da pasta: Digamos que vc ja tenha o Local completo do arquivo em uma variavel chamada CaminhoDoFicheiro (C:\Pasta123\Teste.xls)

    Basta colocar algo assim:
    MsgBox Left(CaminhoDoFicheiro, (Len(CaminhoDoFicheiro) - Len(Dir(CaminhoDoFicheiro))))

    Agora, sua mensagem anterior leva a outro assunto...
    Veja esse topico: [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    baldocchi
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 03/11/2014

    Re: pegar o caminho da pasta

    Mensagem  baldocchi em Sex 12 Ago 2016, 18:39

    muito obrigado, vou tentar e te falo.

    Fique em Paz!

    Abs

    baldocchi
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 03/11/2014

    Re: pegar o caminho da pasta

    Mensagem  baldocchi em Sex 12 Ago 2016, 18:53

    Amigo,

    Funcionou perfeitamente.

    Agora, posso fazer outra pergunta?

    É o seguinte, eu tenho o código abaixo que varre as pastas e subpastas atrás de todos os arquivos.
    Eu gostaria de fazer uma pesquisa por parte do nome.
    Você sabe como eu posso fazer isso por favor?

    Function ListaArquivosESubPastas(ByVal path$) As String
    On Error GoTo ProcErr
    Dim Fsfd, Fd, Sfd, f1, Fls, Itn$
    If path = "" Then Exit Function
    Set Fsfd = CreateObject("Scripting.FileSystemObject")
    Set Fd = Fsfd.GetFolder(path$)
    xFd = strCaminho
    Do While Fd.path <> ".."
    For Each Fls In Fd.files
    Debug.Print Fd.path$ & "\" & Fls.Name
    xFd = Fd
    Next Fls
    LocArq
    For Each Sfd In Fd.SubFolders
    f1 = f1 + 1

    Itn = Sfd.Name

    lstArquivos.AddItem Fd.path$ & "\" & Itn

    ListaArquivosESubPastas Fd.path$ & "\" & Itn & "\"

    lstArquivos.Requery
    txtTotArq.Requery
    ' LocArq

    Next
    GoSub Proc_Sai
    Loop
    Proc_Sai:
    Set Fsfd = Nothing: Set Fd = Nothing: Set Sfd = Nothing: Set f1 = Nothing
    Exit Function
    ProcErr:
    If Err = 76 Then Resume Proc_Sai
    MsgBox Err & vbCr & Err.Description
    Resume Next

    End Function
    Function LocArq()
    Dim FileSystem As Object
    Dim Folder As Object
    Dim File As Variant

    Me.Requery

    Set FileSystem = CreateObject("Scripting.FileSystemObject")

    Set Folder = FileSystem.GetFolder(xFd)

    For Each File In Folder.files
    lstArquivos.AddItem File.Name
    'lstArquivos.Requery
    Next
    End Function
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4473
    Registrado : 15/03/2013

    Re: pegar o caminho da pasta

    Mensagem  ahteixeira em Sab 10 Set 2016, 00:10

    Olá Leandro,
    Para não misturar temas, será melhor criar um tópico novo.
    Se desejar, pode fazer referencia a este.
    Obrigado pelo retorno e não se esqueça de dar este tópico como resolvido.
    Abraço

      Data/hora atual: Sab 21 Out 2017, 15:00