@ root "Möglicherweise kann eine neue PowerPoint-Version den Folien Tags / Kategorien zuweisen."
Mit jeder Windows-Version ab '97 können Präsentationen, Folien oder Formen auf Folien mehrere "Tags" zugewiesen werden. Ich bin ziemlich sicher, dass das gleiche für Mac PPT-Versionen gilt, mit Ausnahme von 2008, die keinen VBA hatten. Es gibt keine Benutzeroberfläche für Tags. Sie müssen VBA oder andere Programmiersprachen verwenden, um mit ihnen zu arbeiten.
Sobald die Folie markiert ist, ist es egal, ob Sie sie innerhalb der Show verschieben. Der Tag bleibt bei der Folie.
Verwenden Sie beispielsweise VBA für jede andere Show in der Präsentation, blenden Sie alle Folien in der Show aus und führen Sie dann TagSlides aus:
Sub TagSlides() ' NOTE: mark all the slides in this show ' as hidden before running this code Dim sShowName As String Dim oSl As Slide ' Get a name for this show/set of slides ' Quit if user enters nothing sShowName = InputBox("Name of show", "Show name") If Len(sShowName) = 0 Then Exit Sub End If For Each oSl In ActivePresentation.Slides ' If it's hidden, tag it with the show name If oSl.SlideShowTransition.Hidden Then oSl.Tags.Add Ucase(sShowName), "Y" ' you could run the same code to set the tag value ' to "" if you want to remove the tag End If Next End Sub
Nachdem Sie das getan haben, können Sie dies ausführen. Sie werden dann nach dem Namen der Show gefragt, die Sie verwenden möchten, und dann alle Folien, die zu dieser Show gehören, sichtbar machen und die anderen ausblenden.
Sub MakeShowVisible() Dim sShowName As String Dim oSl As Slide ' Get a name for this show/set of slides ' Quit if user enters nothing sShowName = InputBox("Name of show", "Show name") If Len(sShowName) = 0 Then Exit Sub End If For Each oSl In ActivePresentation.Slides If Len(oSl.Tags(Ucase(sShowName))) > 0 Then ' the slide belongs to the show so unhide it oSl.SlideShowTransition.Hidden = False Else ' not part of the show; hide it oSl.SlideShowTransition.Hidden = True End If Next End Sub
Eine Folie kann zu mehreren Shows gehören. Wenn Sie einer Präsentation neue Folien hinzufügen müssen, führen Sie zunächst HideShow aus. Dabei werden alle derzeit in einer Show vorhandenen Folien ausgeblendet. Anschließend werden die neuen Folien ausgeblendet und TagSlides erneut ausgeführt.
Sub HideShow() Dim sShowName As String Dim oSl As Slide ' Get a name for this show/set of slides ' Quit if user enters nothing sShowName = InputBox("Name of show", "Show name") If Len(sShowName) = 0 Then Exit Sub End If For Each oSl In ActivePresentation.Slides If Len(oSl.Tags(sShowName)) > 0 Then ' the slide belongs to the show so hide it oSl.SlideShowTransition.Hidden = True Else ' not part of the show; UNhide it oSl.SlideShowTransition.Hidden = False End If Next End Sub