recebe erro de tempo de execução ao executar o script VB para exportar imagens com nome de arquivo

0

Preciso exportar muitas imagens de uma planilha do Excel e alocar um nome de arquivo significativo com base nos valores de uma determinada coluna. Eu encontrei uma ótima resposta de Kyle, que postou um script em resposta a uma pergunta semelhante. No entanto, quando executo o script, ele funciona perfeitamente até a linha 238 (todas as imagens até essa linha são exportadas corretamente), então o processo é interrompido e gera o seguinte erro: erro de runtime '-21477467259 (80004005)': Shape.Export: Valor Ilegal.

Meu conhecimento VB não é bom o suficiente para entender o que está errado aqui. Alguém poderia me ajudar aqui?

Este é o código (fornecido por Kyle) que usei, eu alterei apenas a localização da pasta, o nome da planilha de trabalho e os valores de deslocamento para direcionar os valores corretos:

Const destFolder$ = "F:\backup\tmp\"

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("CASE_DATA")

Dim ppt As Object, ps As Variant, slide As Variant

Set ppt = CreateObject("PowerPoint.application")
Set ps = ppt.presentations.Add
Set slide = ps.slides.Add(1, 1)

Dim shp As Shape, shpName$
For Each shp In ws.Shapes
    shpName = destFolder & shp.TopLeftCell.Offset(0, -6) & ".png"
    shp.Copy
    With slide
        .Shapes.Paste
        .Shapes(.Shapes.Count).Export shpName, 2
        .Shapes(.Shapes.Count).Delete
    End With
Next shp

With ps
    .Saved = True
    .Close
End With
ppt.Quit
Set ppt = Nothing

Agradecendo antecipadamente por qualquer ajuda!

    
por Andamo 21.08.2017 / 20:15

0 respostas