Мне нужно экспортировать много изображений из листа Excel и выделить значимое имя файла на основе значений в данном столбце. Я нашел отличный ответ Кайла, который опубликовал сценарий в ответ на аналогичный вопрос. Однако, когда я запускаю сценарий, он прекрасно работает до строки 238 (все изображения до этой строки экспортируются правильно), затем процесс останавливается и выдает следующую ошибку: ошибка времени выполнения '-21477467259 (80004005)': Shape.Экспорт: незаконная стоимость.

Мои знания VB недостаточно хороши, чтобы понять, что здесь не так. Может ли кто-нибудь помочь мне здесь?

Это код (предоставленный Kyle), который я использовал, я изменил только местоположение папки, имя рабочего листа и значения смещения, чтобы получить правильные значения:

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

Заранее благодарю за любую помощь!

0