Notifications
Clear all

Gravar na celula ativa o caminho completo do arquivo

25 Posts
2 Usuários
0 Reactions
3,894 Visualizações
(@paulo-reis)
Posts: 0
New Member
Topic starter
 

Preciso da ajuda do fórum para a solução do seguinte problema:
Na Plan1 tenho os campos começando da coluna A até E (CODIGO, DESCRIÇÃO, DATA DA OCORRÊNCIA, TIPO DA OCORRÊNCIA, LINK DO DOCUMENTO). O campo CÓDIGO é auto numérico começando no formato "00001" e assim por diante.
Na célula da coluna E (LINK DO DOCUMENTO) preciso criar uma forma de ao acionar a célula ativa da coluna E, correspondente ao código selecionado, um procedimento seja executado para abrir o documento que está no diretório P:MANUTENÇÕESORDENS DE SERVIÇOS em formato pdf para simples visualização ou impressão. Ao fechar o arquivo a célula ativa armazene o caminho completo do arquivo como hyperlink clicável para que na próxima vez que acionar a célula o arquivo seja aberto novamente. Qual a maneira mais simples de realizar essa tarefa?

 
Postado : 13/05/2015 2:29 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

De uma olhada no link abaixo, tem até um modelo para baixar, é só fazer alguns ajustes.

Macro para Exibir, Inserir ou Remover os Hiperlinks das suas Planilhas
http://www.exceldoseujeito.com.br/2013/ ... planilhas/

[]s

 
Postado : 13/05/2015 4:48 pm
(@paulo-reis)
Posts: 0
New Member
Topic starter
 

Olá Mauro,
Muito obrigado pela dica. O link com o exemplo que indicou me ajudou bastante. Eu quero ajustar o código para que ao invés de colar o link na caixa de texto fosse executado um procedimento que pegasse automaticamente na caixa de texto o caminho completo do arquivo que foi aberto, pois os links são arquivos que estão na pasta P:....

 
Postado : 14/05/2015 12:06 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Paulo, você deu como Resolvido, então não pretende fazer a implementação que disse ?
Quando li sua postagem, eu fiquei um pouco confuso, por isso indiquei o link.

Um procedimento seja executado para abrir o documento que está no Diretorio P:MANUTENÇÕESORDENS DE SERVIÇOS. Este caminho será sempre o mesmo ? só alterando o nome do arquivo ?
Quanto cita que o código 0001 está na coluna A e depois, acionar a célula ativa da coluna E, correspondente ao código selecionado e ao fechar armazene o caminho completo do arquivo como hyperlink. Se já temos o caminho fixo conforme acima, seroia só ajustar o nome do arquivo. Seria isto ?

Se possível, anexe um modelo reduzido e compactado (zip, rar ) par uma analise mehor, que mais tarde ou final de semana faço a implementação.

Se não for mais precisar de ajuda referente a este assunto, avise que eu tranco o tópico, por enquanto aguardarei sua posição.

[]s

 
Postado : 14/05/2015 1:24 pm
(@paulo-reis)
Posts: 0
New Member
Topic starter
 

Olá Mauro,
Desculpa!!! por equívoco marquei como RESOLVIDO, na verdade ainda preciso da sua ajuda. Amanhã envio o meu modelo como sugerido. Obrigado pela atenção.

 
Postado : 14/05/2015 1:57 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Paulo, de uma olhada neste tópico aqui do Forum, tem duas rotinas enviadas pelo Felipe que acho que vão de encontro o que pretende, talvez uns pequenos ajustes somente.

Formulário para incluir anexo e gerar hyperlink
viewtopic.php?f=10&t=4726

[]s

 
Postado : 14/05/2015 6:58 pm
(@paulo-reis)
Posts: 0
New Member
Topic starter
 

Blz Mauro,
Obrigado, estou testando.

 
Postado : 15/05/2015 9:09 am
(@paulo-reis)
Posts: 0
New Member
Topic starter
 

Boa Noite Mauro,

Eu fiz alguns testes com as macros, mas não consegui ainda resolver meu problema por inexperiência mesmo. Fiz um modelo compactado para enviar, mas não aparece o link para anexar o arquivo.

 
Postado : 15/05/2015 4:33 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa Noite Mauro,
Eu fiz alguns testes com as macros, mas não consegui ainda resolver meu problema por inexperiência mesmo. Fiz um modelo compactado para enviar, mas não aparece o link para anexar o arquivo.

Paulo, para anexar um arquivo, o mesmo deve seguir as regras do Forum:
Nossas Regras : viewtopic.php?f=7&t=203
• Upload
Devido a ultrapassagem da marca de 1,5Gb de armazenamento de arquivos na hospedagem do Planilhando,
limitaremos o tamanho de cada arquivo para 2Mb sendo obrigatório o uso dos formatos .zip - .rar - .ice visto
a gratuidade e não geração de recursos para bancar o site.

Veja como anexar :
viewtopic.php?f=10&t=3841

Antes veja se a rotina abaixo atende, fiz da maneira que entendi :
Esta rotina tem de ser colada na aba que pretende utilizar devido ao evento SelectionChange, clique com o botão direito na aba e selecione exibir código e cole a rotina.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim sRgn As Range
    Dim sArquivo
    Dim sEspecificação As String
    Dim sTítulo As String
    Dim sNome
    Dim sPath As String
    Dim sDirAtual As String

    'Verifica se foi clicado em qualquer Celula da coluna E (5), se não sai da rotina
    If Target.Column = 5 Then
    
        'Verifica se na celula já existe Hyperlink, Se existir abre o arquivo e sai da rotina
        If ActiveCell.Hyperlinks.Count Then Exit Sub
            'Se não existir continua
            
            'Definimos e armazenamos o endereço da celula clicada
            Set sRgn = Range(Target.Address(0, 0))
        
            
            sDirAtual = CurDir 'Armazena em memória o caminho original
          
            'Definimos o novo caminho (Diretório) dos PDF(s)
            sPath = "P:MANUTENÇÕESORDENS DE SERVIÇOS"
            ChDrive sPath
            ChDir sPath
            
            'Textos da caixa de dialogo
            sEspecificacao = "Arquivos de PDF (*.pdf*),*.pdf*" 'Tipo do
            sTítulo = "Selecione um arquivo PDF:"
            
            'Definimos e armazenamos o endereço da celula clicada
            Set sRgn = Range(Target.Address(0, 0))
        
            sArquivo = CStr(Application.GetOpenFilename(sEspecificacao, , sTítulo, , False))
            
            'Redefinimos para o caminho anterior
            ChDrive sDirAtual
            ChDir sDirAtual
        
            'Armazenamos somente o Nome do arquivo sem o caminho
            sNome = Dir(sArquivo)
                
                'Se nenhum arquivo foi selecionado sai da rotina
                If sArquivo <> CStr(False) Then
                    sRgn = sNome 'Coloca somente o Nome do arquivo na celula
                    ActiveSheet.Hyperlinks.Add sRgn, sArquivo 'Cria o hyperlink
                Else
                    'Nenhum arquivo foi selecionado
                End If
    Else
                
    End If

End Sub

Faça os testes, e se for isto coloque o tópico como resolvido e clique na mãozinha agradecendo.

[]s

 
Postado : 15/05/2015 9:51 pm
(@paulo-reis)
Posts: 0
New Member
Topic starter
 

Olá Mauro,
Enviei o modelo pra analise.

 
Postado : 16/05/2015 10:27 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Paulo, cheguei a ver seu modelo e fiquei confuso com a explicação, primeiro começou a duvida sempre se referindo a coluna "E", agora diz que é variável, tudo bem, isto é ajustavel, mas quando solicitamos ajuda devemos colocar o máximo de detalhes, isto evita ficarmos supondo o que pretendem, lembre-se sempre, você sabe o que quer com seu aplicativo, e como não temos contato com o mesmo, fica dificil.
Pelo que entendi, a intenção é ao clicar em determinada celula da coluna DOCUMENTO abrir a janela para selecionar um arquivo que se encontra no caminho "P:MANUTENÇÕESORDENS DE SERVIÇOS", só que na aba MC você colocou o Caminho "C:MANUTENÇÕESORDENS DE SERVIÇOS", ou seja trocou a letra "P" por "C", e na aba "Cs_QT" você tem um hiperlink com o endereço "fhbassinfra1)ENGENHARIA CLÍNICA1)NINHO DAS ÁGUIAS3)CALIBRAÇÕES (+sitrad)PADRÕESIN-MED2)QT_QUALIFICAÇÃO TÉRMICA ANO 2015QT_0107320_636_blast freezer.pdf", então pergunto, temos um padrão do diretório ou não ?

Vi que em algumas abas os links estariam nas clunas "M, O ou P" linha 2 e em outras na linha "7". Não tem como padronizar o layout e ficarem todos iguais ?

Tem como ajustar a rotina par a ser utilizada no evento da Pasta (Workbook_SheetSelectionChange) que serveria para todas as abas, capturando o nome da aba, a coluna e range clicado e executar a rotina, mas preciso entender o que quer dizer com :
"mas o codigo precisa de ajustes para que isso seja realizado dinamicamente toda vez que selecionar proxima celula abaixo para abrir o proximo arquivo correspondente ao código e grave na celula o caminho completo do arquivo na celula "

[]s

 
Postado : 17/05/2015 9:58 pm
(@paulo-reis)
Posts: 0
New Member
Topic starter
 

Arquivo Anexo Deletado

Motivo :
Os anexos tem de estar compactados conforme as regras do Forum: - viewtopic.php?f=7&t=203
• Upload
Devido a ultrapassagem da marca de 1,5Gb de armazenamento de arquivos na hospedagem do Planilhando,
limitaremos o tamanho de cada arquivo para 2Mb sendo obrigatório o uso dos formatos .zip - .rar - .ice visto
a gratuidade e não geração de recursos para bancar o site.

 
Postado : 18/05/2015 8:11 am
(@paulo-reis)
Posts: 0
New Member
Topic starter
 

Olá Mauro,
Realmente está muito confuso mesmo, mas vamos simplificar esse negócio. O anexo que enviei anteriormente tinha um teste onde aparece "C:....", mas o diretório será sempre "P:...", pois na empresa cada departamento tem um diretório "P:" que está em um servidor central acessado pela rede. Estou realizando este trabalho para o departamento “\fhbassinfra”. Temos uma planilha para cadastro dos equipamentos, planilhas para cadastros das ocorrências de manutenção preventiva, manutenção corretiva, etc. que são as de abas amarelas e planilhas para as consultas que são as de abas pretas. O campo DOCUMENTO nas planilhas de consultas não coincide porque existem informações que não são comuns, mas vou padronizar para que o campo DOCUMENTO fique na coluna “M”. O caminho para buscar um documento “pdf” também varia de acordo com o tipo de ocorrência, por exemplo, se eu quiser buscar uma ordem de serviço de uma manutenção que foi realizada hoje no equipamento nº 1100800, vou acessar o seguinte caminho “fhbassinfraMANUTEÇÕES PREVENTIVASEMPRESA SIEMENSOrdemServiço_12345.pdf”. Se for uma ocorrência para manutenção corretiva em um equipamento, vou acessar o caminho “fhbassinfraMANUTENÇÕES CORRETIVASEMPRESA BIOMÉDICAOrdemServiço_54321.pdf” e assim sucessivamente para as outras ocorrências. Posso ter várias ocorrências de manutenção preventiva e corretiva, etc para o mesmo equipamento. Ainda não encontrei uma forma para simplificar esse negócio. Minha experiência é mínima em vba, o ideal é que as entradas de dados para os cadastros fossem realizadas através de formulários para evitar a digitação diretamente na célula e o uso da função PROCV, pois dá muito trabalho e não é amigável para o usuário. Nas consultas estou usando filtro avançado usando como critério apenas o número do equipamento, isso também poderia ser melhorado com o uso de ImputBox. Bom estou sonhando alto. Desconsidere o último anexo, pois vou ajustá-lo para reenvio. Desde já fico muito grato pela ajuda e atenção.

 
Postado : 18/05/2015 10:23 am
(@paulo-reis)
Posts: 0
New Member
Topic starter
 

Olá Mauro,
Refiz o modelo.

Paulo, em um dos seus posts anteriores lhe expliquei como anexar arquivos no Forum e que os mesmos tem de estar compactados de acordo com as Regras do Forum, e no post anterior seu arquivo já foi deletado por não seguir as regras, e mais uma vez você anexou sem compactar, se você não soubesse eu até deixaria, mas já foi avisado duas vezes, então faça a gentileza de compactar e upar novamente.

Arquivo Anexo Deletado

Motivo :
Os anexos tem de estar compactados conforme as regras do Forum: - viewtopic.php?f=7&t=203
• Upload
Devido a ultrapassagem da marca de 1,5Gb de armazenamento de arquivos na hospedagem do Planilhando,
limitaremos o tamanho de cada arquivo para 2Mb sendo obrigatório o uso dos formatos .zip - .rar - .ice visto
a gratuidade e não geração de recursos para bancar o site.

Grato pela compreensão.

[]s Mauro Coutinho
Administrador

 
Postado : 18/05/2015 2:12 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Paulo, me baseando no primeiro modelo que você havia postado, onde você diz :
"Tentei adaptar a macro para executar o procedimento na Planilha "MC" e na Planilha "Cs_MC", mas o codigo precisa de ajustes para que isso seja realizado dinamicamente".
Qual parte não deu certo ? Deu erro ?

Estou percebendo que estamos fugindo do motivo de sua postagem que seria clicar em uma celula e abrir uma janela para selecionar um arquivo, abrir e adicionar na celula o caminho do arquivo como hyperlink. Então pergunto, quanto a rotina que enviei, é o que pretende ?

Veja, o que escreveu agora, se a rotina é esta, você só tem de ajustar as colunas e o diretório, ou seja :
Para as abas que utilizam a coluna M use o numero 13
Para as abas que utilizam a coluna O use o numero 15
If Target.Column = 13 Then

E aqui : "mas o diretório será sempre" "P: : coloque somente a letra do diretorio, ficando : sPath = "P:"

Se não for isto, eu realmente não estou conseguindo captar a ideia.

[]s

 
Postado : 18/05/2015 5:08 pm
Página 1 / 2