Notifications
Clear all

Nome de Foto inserida no excel

3 Posts
3 Usuários
0 Reactions
1,084 Visualizações
(@sandro-c)
Posts: 0
New Member
Topic starter
 

Tenho um planilha em excel com milhares de fotos de produtos inseridas por macro, preciso acrescentar uma coluna com o nome de cada foto, como faço a macro?

Grato.

 
Postado : 06/06/2018 5:38 am
(@boobymcgee)
Posts: 0
New Member
 

Disponibiliza um exemplo da planilha com algumas fotos e o seu código.

 
Postado : 06/06/2018 10:32 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

A rotina abaixo, originariamente no site Ozgrid.com; executa o que deseja,mas deve ser adaptada a sua realidade

Private Sub GetShapePropertiesAllWs()
Dim sShapes As Shape, lLoop As Long
Dim WsNew As Worksheet
Dim wsLoop As Worksheet
''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''LIST PROPERTIES OF SHAPES'''''''''''''
''''''''''Dave Hawley www.ozgrid.com''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''
Set WsNew = Sheets.Add
'Add headings for our lists. Expand as needed
WsNew.Range("A1:G1") = Array("Shape Name", "Shape Type", "Height", "Width", "Left", "Top", "Sheet Name")
'Loop through all Worksheet
For Each wsLoop In Worksheets
'Loop through all shapes on Worksheet
If wsLoop.Name = "Bandeiras" Then 'Altere aqui o nome de sua planilha
For Each sShapes In wsLoop.Shapes
'Increment Variable lLoop for row numbers
lLoop = lLoop + 1
With sShapes
'Add shape properties
WsNew.Cells(lLoop + 1, 1) = .Name
WsNew.Cells(lLoop + 1, 2) = .OLEFormat.Object.Name
WsNew.Cells(lLoop + 1, 3) = .Height
WsNew.Cells(lLoop + 1, 4) = .Width
WsNew.Cells(lLoop + 1, 5) = .Left
WsNew.Cells(lLoop + 1, 6) = .Top
'Follow the same pattern for more
WsNew.Cells(lLoop + 1, 7) = wsLoop.Name
End With
Next sShapes
End If
Next wsLoop
'AutoFit Columns.
WsNew.Columns.AutoFit
End Sub
 
Postado : 14/06/2018 5:34 am