Selbstspielen einen Film in einer Powerpoint-Präsentation mit C #
-
09-10-2019 - |
Frage
Ich versuche zur Zeit einige Einstellungen in einer PPTX-Dateien über C # und Microsoft.Office.Interop.PowerPoint
zu ändern. Ich habe einige .wmv Filme auf mehrere Folien der Präsentation verknüpft. Zu der Zeit wurden die Präsentationen erstellt, spielen alle Filme, sobald sie angeklickt werden. Allerdings möchte ich das ändern sich automatisch, sobald der Schlitten gesehen, zu spielen beginnen wird. Dies hat dies zu einer Menge von Präsentationen durchgeführt werden, so gibt es keine Möglichkeit, dies manuell zu tun.
Ich fand die PlaySettings.PlayOnEntry
Eigenschaft, aber ich kann nicht herausfinden, wie es zu benutzen. Ich fand einige Beispiele, wie diese mit einem neuen Film zu tun eingebettet werden (und dann nur für Visual Basic), aber da die Filme bereits eingebettet sind, ist dies nicht das, was ich will.
Ich habe auch keine Ahnung, wie ich eigentlich alle Objekte auf der aktuellen Folie zugreifen kann, vielleicht gibt es eine Möglichkeit zu überprüfen, ob eine Form ist eine Video-Datei und dann über Einstellung ändern, aber die MSDN-Referenz ist nicht sehr hilfreich auf Büro-Themen. Ich bin mit Powerpoint 2007 und Visual Studio 2010, wenn das ist.
Lösung 2
Got es. Die Suche in allen Formen der Präsentation und Ausfiltern der Filme:
//While iterating through all slides i:
objShapes = objPres.Slides[i].Shapes;
foreach (Microsoft.Office.Interop.PowerPoint.Shape s in objShapes) {
if(s.Name.Contains(".wmv")){
s.AnimationSettings.PlaySettings.PlayOnEntry = MsoTriState.msoTrue;
}
}
Andere Tipps
@ Lennart-Lösung ist ein Teil davon, was Sie brauchen dann eine Seite Trigger
var videoAnimation = slide.TimeLine.MainSequence.FindFirstAnimationFor(objShapes);
if (videoAnimation != null)
{
videoAnimation.Timing.TriggerType = PowerPoint.MsoAnimTriggerType.msoAnimTriggerWithPrevious;
}