none
Como vincular um nome ao uma imagem RRS feed

  • Pergunta

  • Gostaria de saber se é possivel vincular um onme ao uma imagem por exemplo:

    Uma planilha excel tem varios nomes que vinculo com power point e presciso colocar os logos nesses nomes e quero q faça isso automatico.

    Help

    quarta-feira, 15 de abril de 2015 13:13

Respostas

  • Se for o que eu entendi essa macro resolve. Altere pasta de onde será lida as imagens e o formato do arquivo que vc quer (no meu caso coloquei somente png).

    Sub TestInsertPictureInRange()
        Dim objFSO As Object
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        Dim objFolder As Object
        Dim objFile As Object
        Dim i As Integer
        i = 1
        Set objFolder = objFSO.GetFolder("C:\Users\h162524\Desktop\")
        For Each objFile In objFolder.Files
            If InStrRev(objFile.Name, ".png") <> 0 Then
                InsertPictureInRange objFile.Path, Range("B" & i & ":C" & i)
                i = i + 1
            End If
        Next objFile
        
    End Sub
    
    Sub InsertPictureInRange(PictureFileName As String, TargetCells As Range)
    ' inserts a picture and resizes it to fit the TargetCells range
    Dim p As Object, t As Double, l As Double, w As Double, h As Double
        If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
        If Dir(PictureFileName) = "" Then Exit Sub
        ' import picture
        Set p = ActiveSheet.Pictures.Insert(PictureFileName)
        ' determine positions
        With TargetCells
            t = .Top
            l = .Left
            w = .Offset(0, .Columns.Count).Left - .Left
            h = .Offset(.Rows.Count, 0).Top - .Top
        End With
        ' position picture
        With p
            .Top = t
            .Left = l
            .Width = w
            .Height = h
        End With
        Set p = Nothing
    End Sub


    Att. Andre de Mattos Ferraz


    sexta-feira, 24 de abril de 2015 16:54

Todas as Respostas

  • poderia mostrar um exemplo dessa planilha para entender melhor o problema?

    Att. Andre de Mattos Ferraz

    quarta-feira, 15 de abril de 2015 13:39
  • Exemplo:

    No excel tem uma tabela com os nomes:

    Bradesco  |    Amil   |    Caixa |    Zuurich

    Esses nomes vinculo em um power point e presciso colocar os logos em cada nome e faço isso manualmente

    Queria ter uma base com todos os logo possiveis e seus nomes para ir automaticamente

    sexta-feira, 24 de abril de 2015 13:09
  • Se for o que eu entendi essa macro resolve. Altere pasta de onde será lida as imagens e o formato do arquivo que vc quer (no meu caso coloquei somente png).

    Sub TestInsertPictureInRange()
        Dim objFSO As Object
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        Dim objFolder As Object
        Dim objFile As Object
        Dim i As Integer
        i = 1
        Set objFolder = objFSO.GetFolder("C:\Users\h162524\Desktop\")
        For Each objFile In objFolder.Files
            If InStrRev(objFile.Name, ".png") <> 0 Then
                InsertPictureInRange objFile.Path, Range("B" & i & ":C" & i)
                i = i + 1
            End If
        Next objFile
        
    End Sub
    
    Sub InsertPictureInRange(PictureFileName As String, TargetCells As Range)
    ' inserts a picture and resizes it to fit the TargetCells range
    Dim p As Object, t As Double, l As Double, w As Double, h As Double
        If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
        If Dir(PictureFileName) = "" Then Exit Sub
        ' import picture
        Set p = ActiveSheet.Pictures.Insert(PictureFileName)
        ' determine positions
        With TargetCells
            t = .Top
            l = .Left
            w = .Offset(0, .Columns.Count).Left - .Left
            h = .Offset(.Rows.Count, 0).Top - .Top
        End With
        ' position picture
        With p
            .Top = t
            .Left = l
            .Width = w
            .Height = h
        End With
        Set p = Nothing
    End Sub


    Att. Andre de Mattos Ferraz


    sexta-feira, 24 de abril de 2015 16:54