Извлечь все изображения из PowerPoint с помощью COM - PullRequest
2 голосов
/ 05 июля 2010

Как программно извлечь все изображения из файла PowerPoint с помощью COM?

1 Ответ

2 голосов
/ 07 июля 2010

Ну, есть два пути. Один из них предназначен только для PowerPoint 2007 и 2010. Но:

  1. Это не COM - вы просто открываете файл в виде почтового индекса и перейдите в / СМИ папка, а затем у вас есть доступ к все изображения.
  2. Это необработанные изображения, а не изображения, которые PowerPoint отображает, если вы применяете к ним любые аффекты (как Яркость / Контрастность, Перекрасить, и др.).

Путь в COM - через устаревшую функцию Shape.Export. Чтобы получить доступ к его Intellisense, вы должны выбрать «Показать скрытых участников» в VBE (при условии, что вы используете VBA для этого). Вот код для его использования:

Sub SaveAllPictures()
    Dim ap As Presentation: Set ap = ActivePresentation
    Dim savePath As String
    savePath = "C:\Users\me\Desktop\files\"
    Dim i As Integer
    Dim sl As Slide
    Dim sh As Shape
    For Each sl In ap.Slides
        For Each sh In sl.Shapes
            If sh.Type = msoPicture Then
                sh.Export PathName:=savePath & sh.Name & CStr(i) & ".png", Filter:=ppShapeFormatPNG
                i = i + 1
            End If
        Next
    Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...