TPE
Tavvafi@gmail.com |
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
Option Explicit Sub CreateCustomShowFromSelection() Dim x As Long Dim MySlideIDs() As Long Dim sShowName As String ' Did the user select some slides? If not, quit: If ActiveWindow.Selection.Type <> ppSelectionSlides Then MsgBox "Please select one or more slides in the" _ & " SLIDE SORTER, then try again" Exit Sub End If With ActiveWindow.Selection.SlideRange ' add the SlideID of each slide in current ' selection to an array ' start with one member in the array ReDim MySlideIDs(1 To 1) As Long ' step BACKWARDS through selection, else ' the show will be in reverse order: For x = .Count To 1 Step -1 MySlideIDs(UBound(MySlideIDs)) = .Item(x).SlideID Debug.Print .Item(x).Name ReDim Preserve MySlideIDs(1 To UBound(MySlideIDs) + 1) Next End With ' Get a name for the show sShowName = InputBox("Name for your custom show:", _ "Custom show name", "") ' Quit if blank If Len(sShowName) = 0 Then Exit Sub End If ' now create a custom show using the array With ActivePresentation.SlideShowSettings.NamedSlideShows ' delete the custom show if it already exists: On Error Resume Next .Item(sShowName).Delete On Error GoTo 0 Call .Add(sShowName, MySlideIDs) End With End Sub