Notifications
Clear all

INSERINDO IMAGENS NO COMENTÁRIO

14 Posts
4 Usuários
0 Reactions
2,573 Visualizações
(@ivail)
Posts: 11
Active Member
Topic starter
 

Bom dia e a todos,

Pessoal, sou novo aqui, primeiramente queria agradecer ao fórum a oportunidade de fazer parte dele.

Preciso de uma ajuda, tenho uma planilha com vários produtos e preciso que puxe automaticamente as fotos dos produtos nos comentários, as fotos estão em varias pastas em um único diretório que é o I:

Tenho um pouco de conhecimento em VBA.

desde já agradeço a todos.

 
Postado : 23/01/2018 4:40 am
(@klarc28)
Posts: 971
Prominent Member
 

Você não explicou em que células estão os produtos nem em que células estão os comentários nem como saber qual imagem vai em qual comentário.
Você não deu exemplos dos nomes dos arquivos de imagem.
Você não especificou a extensão dos arquivos de imagem.
As pessoas desse fórum possuem conhecimento em VBA, não possuem conhecimentos paranormais de adivinhação.
Com código e com arquivo anexo, aumentam as chances de obter resposta.

https://www.google.com.br/search?q=excel+vba+imagem+comentario&oq=excel+vba+imagem+comentario&aqs=chrome..69i57.12225j0j7&sourceid=chrome&ie=UTF-8
https://www.google.com.br/search?q=excel+vba+percorrer+arquivos&oq=excel+vba+percorrer+arquivos&aqs=chrome..69i57.12336j0j7&sourceid=chrome&ie=UTF-8

 
Postado : 23/01/2018 4:43 am
(@ivail)
Posts: 11
Active Member
Topic starter
 

Bom dia,

Os produtos estão nas células A2:A21
A extensão das imagens é .JPG
As imagens estão no diretório I: em varias subpastas

Segue em anexo o modelo do arquivo.

desde já agradeço.

 
Postado : 23/01/2018 6:03 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Conforme disse o klarc28, sem mais detalhes ou um modelo fica dificil criar algo da forma que quer, mas de uma olhada no site abaixo tem vários modelo de fotos em comentários, veja se algum deles te serve.

Photos en commentaire
http://boisgontierjacques.free.fr/pages ... mmentimage

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/01/2018 6:05 am
(@ivail)
Posts: 11
Active Member
Topic starter
 

Mauro,

peço desculpas por não ter me expressado direito, o código abaixo atende minha necessidades, só que as fotos estão no diretório I: em varias subpastas, como que eu faço para ele localizar as fotos.

Sub InserirComentários()
    
    Dim rngList As Range
    Dim rng As Range
    Dim cmt As Comment
    Dim strPic As String

    On Error Resume Next

    Set rngList = Range("b2:b25")
    strPic = "L:fotos"

    For Each rng In rngList
        Set cmt = rng.Comment
        If cmt Is Nothing Then
            Set cmt = rng.AddComment
        End If
        With cmt
            .Text Text:=""
            .Shape.Fill.UserPicture strPic & rng
          .Visible = False
        End With
    Next rng
End Sub
 
Postado : 23/01/2018 6:48 am
(@klarc28)
Posts: 971
Prominent Member
(@klarc28)
Posts: 971
Prominent Member
 
Sub Sample()
ShowFolderList ("C:teste")
End Sub

Sub ShowFolderList(folderspec)
Dim fs, f, f1, fc, s, sFldr
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.SubFolders
For Each f1 In fc
If Right(f1, 1) <> "" Then ShowFolderList f1 & "" Else ShowFolderList f1
Next
Set fc = f.Files
For Each f1 In fc
Debug.Print folderspec & f1.Name

With Worksheets("Control")
Worksheets("Control").ListBox1.AddItem folderspec & f1.Name
End With


Next
End Sub
 
Postado : 23/01/2018 8:52 am
(@ivail)
Posts: 11
Active Member
Topic starter
 

Boa tarde pessoal,

Não consegui adaptar os códigos

 
Postado : 23/01/2018 11:17 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

IVAIL, minha sugestão é que você criasse uma coluna com o endereço que se encontra cada imagem, assim evitaria de termos um processamento longo, veja, supondo que no diretorio "I" você tenha 10 pastas, e no seu modelo temos 20 itens, então, faça as contas de quantas vezes uma rotina será executada para varrer todas as pastas para cada item, alias, tambem precisaria de uma outra rotina para verificar se a imagem existe em uma das pastas.

Analise o Processo passo a passo :
1 ) Rotina para percorrer os itens na planilha e Adicionar comentarios,
2 ) Percorrer as Pastas,
3 ) Verificar em cada pasta se o arquivo imagem existe,
3.1) Se existe, adicionar no comentário da celula, e recomeçar o processo para o próximo Item.

Podemos ajuntar tudo em somente uma rotina, mas o processo será o mesmo.

Pense e veja se ha a possibilidade de se adicionar os caminhos, se não for possível, mais tarde monto se algum colega não tiver enviado uma solução.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/01/2018 11:50 am
(@ivail)
Posts: 11
Active Member
Topic starter
 

Entendi Mauro, o problema, é que não tem um caminho especifico, a cada nova coleção, o fotografo, cria uma pasta para organização da mesma, e só com o nome do produto não consigo identificar de qual coleção é e com isso saber em qual pasta vai estar.

Vou aguardar para ver se vc consegue montar algo.

desde já te agradeço.

abraço.

 
Postado : 23/01/2018 11:58 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Entendi, e não tem como criar somente uma SubPasta e colocar as imagens nela ?

Então só para compreender melhor :

Temos um Diretorio "I" com várias SubPastas :
Todas elas têm imagens ?
Os nomes das imagens são os numeros que estão na coluna "B" ?

Tem algum outro detalhe que não passou ou é somente isto ,mesmo .

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/01/2018 1:14 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

IVAIL,

Pedimos, por gentileza, da próxima vez que inserir código VBA aqui no fórum, fazer uso da ferramenta CODE que fica localizada logo acima da caixa de mensagem. Você pode editar sua mensagem e ver como fiz no seu código acima.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 23/01/2018 2:30 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

IVAIL, seu arquivo da erro ao abrir devido os vinculos e o "xml", então apaguei tudo até os modulos para não ficar pesado.

Faça os testes e veja se é isso, lenbre-se de ajustar o Diretório Inicial se não for o que deixei na rotina (I).

Dim sProduto
Dim sRgProduto
Dim myFile As File
Dim myJpg

Sub InserirComentários2()

Dim rngList As Range
Dim cmt As Comment

On Error Resume Next

    sCaminhoPasta = ("I")
    
    Set rngList = ActiveSheet.Range("B2", ActiveSheet.Range("B2").End(xlDown))
    
    For Each Rng In rngList
    
       sProduto = Rng & ".jpg"
       
       sRgProduto = Rng.Address(0, 0)
       
        Call Recurse(sCaminhoPasta & "")
        
        Set cmt = Rng.Comment
        If cmt Is Nothing Then
            Set cmt = Rng.AddComment
        End If
        
        With cmt
            '.Text Text:="a"
            .Shape.Fill.UserPicture myJpg
            .Visible = False
        End With
        
    Next Rng
    
End Sub

Function Recurse(sPath As String) As String

    Dim FSO As New FileSystemObject
    Dim myFolder As Folder
    Dim mySubFolder As Folder

    Set myFolder = FSO.GetFolder(sPath)

    For Each mySubFolder In myFolder.SubFolders
        
        For Each myFile In mySubFolder.Files
            
            If myFile.Name = sProduto Then
                    myJpg = myFile.Path
                Exit Function
                Exit For
            End If
            
        Next
    
    Next

End Function

Adiciona imagem em comentários

Qualquer duvida retorne.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/01/2018 11:45 am
(@ivail)
Posts: 11
Active Member
Topic starter
 

Bom dia,

Pessoal,

agradeço a ajuda, segui o conselho do mauro e coloquei as fotos toda em uma só pasta

Abraços

 
Postado : 31/01/2018 7:34 am