Notifications
Clear all

Obter somente o nome da pasta onde está o arquivo

5 Posts
4 Usuários
0 Reactions
1,280 Visualizações
 tpd
(@tpd)
Posts: 2
New Member
Topic starter
 

Pessoal, tenho um arquivo em Excel que esta em uma determinada pasta, estou montando um cabeçalho pra ele no vba, e não sei como relacionar a pasta (somente o nome da pasta atual) ex:

C:UsersthomaDocumentsProjetos

eu quero que no codigo vba retorne somente a palavra projetos.

vou postar o que tenho até agora.

    If ActiveSheet.PageSetup.Orientation = xlPortrait Then
       ActiveSheet.PageSetup.LeftHeader = "&""Segoe UI,Negrito""&11THOMAZ" & Chr(13) & "&""Segoe UI,Regular""&10NOME_DA_PASTA_AQUI" & Chr(13) & "&9&A" & Chr(13) & "&9&F"
       ActiveSheet.PageSetup.CenterHeader = "&10" & Chr(13) & Chr(13) & Chr(13) & "&10" & "&17__________________________________________________________"
    End If

Abraços e obrigado

 
Postado : 14/03/2018 6:29 am
(@joseborges)
Posts: 10
Active Member
 

Se o arquivo estiver na mesma pasta e o nome da pasta não será alterado você pode fazer asism:

 NomePasta = Right(ThisWorkbook.Path, 8) 
 
Postado : 14/03/2018 6:55 am
 tpd
(@tpd)
Posts: 2
New Member
Topic starter
 

Se o arquivo estiver na mesma pasta e o nome da pasta não será alterado você pode fazer asism:

 NomePasta = Right(ThisWorkbook.Path, 8) 

José Borges, obrigado pela ajuda.

coloquei o código e deu certo, mas tem como fazer ele trazer essa mesa informação da esquerda para a direita a partir de determinado quantidade de caracteres.: ex

C:UsersthomaDocumentsProjetos

"C:UsersthomaDocuments"(tem 25 caracteres)

tipo pular esses 25 caracteres e trazer a palavra "projetos"?

não sei se consegui explicar!..

Abs

 
Postado : 14/03/2018 8:05 am
Syrax
(@syrax)
Posts: 160
Estimable Member
 

Veja se isso te ajuda

caminho = "C:UsersthomaDocumentsProjetos" ' aqui você coloca o código para retornar o caminho completo da pasta

Pasta = Right(caminho, Len(caminho) - InStrRev(caminho, ""))

Se essa resposta te ajudou e resolveu o seu problema, clique no "joinha" ao lado de citar, e não esqueça de colocar o tópico como resolvido, clicando no ✓

 
Postado : 14/03/2018 8:15 am
Basole
(@basole)
Posts: 487
Reputable Member
 

Outra opção:

Dim Up
    Up = vba.Split(ThisWorkbook.Path, "")
    MsgBox Up(UBound(Up))

Ou com o seu exemplo:

Dim Up
    Up = VBA.Split("C:UsersthomaDocumentsProjetos", "")
    MsgBox Up(UBound(Up))

Click em se a resposta foi util!

 
Postado : 14/03/2018 8:17 am