Мне нужно экспортировать много изображений из листа 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
Заранее благодарю за любую помощь!