1

У меня много презентаций PowerPoint со связанными видео (хранятся в отдельных файлах .wmv или .avi, которые расположены по тому же пути, что и сама презентация).

Чтобы сделать презентацию "переносимой" (например, поделиться ею в MS SharePoint), мне нужно встроить видео, чтобы получить один отдельный файл для каждой презентации.

Я нашел процедуру, которая делает это, она описана в статье: Оптимизация медиа в вашей презентации для совместимости.

В общем, вы должны:

  • разорвать ссылки
  • оптимизировать для совместимости медиа
  • сохранить изменения.

Я хотел бы автоматизировать этот процесс и сделать это в VBA для всех открытых файлов презентаций PowerPoint, но я не смог найти в Интернете пример того, как это сделать с VBA.

Какие команды необходимы для:

  • разорвать все ссылки в презентации
  • оптимизировать совместимость медиа?

1 ответ1

2

Попробуйте следующий код, который повторяет выборку каждого связанного медиа в открытых презентациях.

Sub Embed()
Dim l As Slide
Dim s As Shape
Dim oDoc As Presentation

On Error Resume Next
For Each oDoc In Application.Presentations
    For Each l In oDoc.Slides
        For Each s In l.Shapes
            With s.MediaFormat
                If .IsLinked And s.MediaType = ppMediaTypeMovie Then
                    .Resample False, .SampleHeight, .SampleWidth, _
                             .VideoFrameRate, .AudioSamplingRate
                End If
            End With
        Next
    Next
oDoc.Save
Next
End Sub

Для ваших первых тестов « Не используйте этот код в ваших оригинальных презентациях »
Этот код предоставляется "КАК ЕСТЬ" без каких-либо гарантий, я протестировал на своих презентациях, и он работает нормально.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .