PowerPoint 2013: Wie können verknüpfte Videos programmgesteuert in VBA eingebettet werden?

437
p.m

Ich habe viele Powerpoint-Präsentationen mit verknüpften Videos (in separaten .wmv- oder .avi-Dateien gespeichert, die sich im selben Pfad wie die Präsentation selbst befinden).

Um die Präsentation "portabel" zu machen (z. B. sie in MS SharePoint freizugeben), muss ich die Videos einbetten, um für jede Präsentation eine einzige Datei zu erhalten.

Ich habe eine Prozedur gefunden, die dies tut. Sie wird in dem Artikel beschrieben: Optimieren Sie die Medien in Ihrer Präsentation auf Kompatibilität .

Im Allgemeinen müssen Sie:

  • brechen Sie die Links
  • Für Medienkompatibilität optimieren
  • Speichern Sie die Änderungen.

Ich möchte diesen Prozess automatisieren und in VBA für alle geöffneten PowerPoint-Präsentationsdateien ausführen, aber ich konnte im Internet kein Beispiel finden, wie dies mit VBA möglich ist.

Welches sind die notwendigen Befehle für:

  • bricht alle Links in der Präsentation
  • Medienkompatibilität optimieren?
1

1 Antwort auf die Frage

2
D-Software

Probieren Sie den folgenden Code aus, der alle verknüpften Medien in den geöffneten Präsentationen neu berechnet.

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 

Für Ihre ersten Tests " Verwenden Sie diesen Code nicht für Ihre ursprünglichen Präsentationen ".
Dieser Code wird "AS IS" ohne Gewährleistungen bereitgestellt. Ich habe meine Präsentationen getestet und funktioniert einwandfrei.