Notifications
Clear all

VBA - LINKAR MÚLTIPLOS ARQUIVOS

4 Posts
3 Usuários
0 Reactions
845 Visualizações
(@alfeo)
Posts: 8
Active Member
Topic starter
 

Olá Pessoal, tudo bem com todos vocês? Então, estou precisando de um código no excel que faça o seguinte: Preciso linkar arquivos em uma coluna que está em uma ordem.

Na minha planilha, eu tenho a coluna B com os nomes dos arquivos "135A", 136A", "137A", "110B" e na coluna F eu tenho o espaço para inserir o hiperlink onde o documento se encontra que está em uma "pasta X" no computador.

Os arquivos que estão na "pasta X" são identificados pelo nome que está lá na coluna B, então tipo o arquivo "135A" é de tal coisa, "136A", [etc]
Estou apanhando para criar um código que consiga fazer esse trabalho por mim, ao invés de inserir 1 por um, que ele identifique os nomes da coluna B, pesquise na pasta tal e que possa hiperlinkar cada documento. Se possível que no hiperlink, ele tenha o mesmo nome do arquivo na mesma linha na coluna B.

Muito obrigado quer puder me ajudar!

PS: Eu vi esse código, mas tive dificuldades para fazer alterações: ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=H:1 PROTOCOLO ATUAL 2014 e 2018Doc_digitalizados 2014 e 2018" & Range("A" & lControle).Value & ".pdf", TextToDisplay:="" & Range("A" & lControle).Value

INFO ADICIONAIS: a pasta com os documentos fica aqui H:1 PROTOCOLO ATUAL 2014 e 2018Doc_digitalizados 2014 e 2018

 
Postado : 09/02/2018 12:42 pm
(@osvaldomp)
Posts: 859
Prominent Member
 

Experimente:

Sub CriaHiperlinks()
 Dim r As Range
  For Each r In Range("B1:B" & Cells(Rows.Count, 2).End(3).Row)
   ActiveSheet.Hyperlinks.Add Anchor:=r.Offset(, 4), Address:="C:PastaX" & r.Value & ".*", _
   TextToDisplay:=r.Value
  Next r
End Sub

obs.
1. considerei os nomes dos arquivos na coluna B, assim:
135A
136A
137A
...
2. altere no código acima o caminho "C:PastaX" de acordo com o caminho da pasta em que estão os arquivos

Osvaldo

 
Postado : 09/02/2018 3:37 pm
(@klarc28)
Posts: 971
Prominent Member
 

Cinco dicas que foram muito úteis para mim:

1) Quando não sei fazer algo no VBA, vou ao menu EXIBIÇÃO >> MACROS >> GRAVAR MACRO
Faço o que eu quero aí volto ao menu EXIBIÇÃO >> MACROS >> PARAR GRAVAÇÃO
Aperto Alt + F11 e vejo como a macro fez aqui. Tento entender e tento adaptar.

2) Quando vou criar um código e o resultado não está saindo como o esperado, entro no código e vou apertando F8 para executar passo a passo, aí vou passando o mouse sobre as variáveis para verificar se o valores delas estão corretos, já consertei milhares de códigos dessa forma.

3) Antes de executar o código, vou ao menu Depurar >> Compilar. Isso ajuda corrigir erros mais simples, como o nome de uma variável digitado errado.

4) Declaro todas as variáveis. Isso também evita erros.

5) Sempre uso o Option Explicit lá no início. Ele me obriga a declarar as variáveis.

 
Postado : 10/02/2018 7:42 am
(@alfeo)
Posts: 8
Active Member
Topic starter
 

Como este fórum é destinado exclusivamente para VBA, não é necessário escrever "VBA" no título.
É o mesmo que escrever "homens" na porta de um banheiro de um lugar que só entra homens.
Quando for colocar código neste fórum, aperte o botão Code.
Aliás, não sei por que o botão não é "Código".
E também não sei por que o botão "Quote" não é "Citar".
Fica incoerente com o botão "Cor do texto".
Parece que os criadores do fórum estavam em dúvida se usariam português ou inglês e acabaram usando os dois idiomas.

Preciso linkar arquivos em uma coluna que está em uma ordem.

Em português, existe a palavra "ligar" com esse significado.
"Linkar" é uma mistura, desnecessária, de inglês com português.

Conectar é uma palavra muito mais apropriada que ligar, acontece que vi diversos posts neste fórum usando o termo linkar, imaginei que fosse um padrão para identificar hyperlinks. Quanto a sua arrogância e prepotência, vai longe usuário.

 
Postado : 10/02/2018 8:02 am