2016-06-29 4 views
0

Grundsätzlich möchte ich meinem PowerPoint einen Fortschrittsbalken hinzufügen, der nicht die gesamte Präsentation abdeckt. Allerdings habe ich einige zusätzliche Folien, die ich beim Präsentieren vielleicht nicht brauche und deshalb aus dem Fortschrittsbalken ausschließen möchte.Wie kann ich einen Fortschrittsbalken in Powerpoint hinzufügen, der die letzten Folien ausschließt?

Sub AddProgressBar() 
    On Error Resume Next 
     With ActivePresentation 
       sHeight = .PageSetup.SlideHeight - 12 
       n = 0 
       j = 0 
       For i = 1 To .Slides.Count 
       If .Slides(i).SlideShowTransition.Hidden Then j = j + 1 
       Next i: 
       For i = 2 To .Slides.Count 
       .Slides(i).Shapes("progressBar").Delete 
       If .Slides(i).SlideShowTransition.Hidden = msoFalse Then 
        Set slider = .Slides(i).Shapes.AddShape(msoShapeRectangle, 0, sHeight, (i - n) * .PageSetup.SlideWidth/(.Slides.Count - j), 12) 
        With slider 
         .Fill.ForeColor.RGB = ActivePresentation.SlideMaster.ColorScheme.Colors(ppFill).RGB 
         .Name = "progressBar" 
        End With 
       Else 
        n = n + 1 
       End If 
       Next i: 
     End With 
End Sub 

Sub RemoveProgressBar() 
    On Error Resume Next 
     With ActivePresentation 
       For i = 22 To .Slides.Count 
       .Slides(i).Shapes("progressBar").Delete 
       .Slides(i).Shapes("pageNumber").Delete 
       Next i: 
     End With 
End Sub 

Das ist, was ich bisher tat, aber es zeigt eine unfertige Fortschrittsbalken Anzeige der ‚endgültige‘ Folie, die den Fortschrittsbalken enthält.

+0

Sie verwenden also die ausgeblendete Eigenschaft der Folie, um zu bestimmen, ob der Fortschrittsbalken hinzugefügt werden soll oder nicht. Also, wenn es Folien gibt, die Sie nicht brauchen, werden Sie sie als versteckt markieren? Ist dies nicht der Fall, benötigen Sie eine zweite benutzerdefinierte Eigenschaft (möglicherweise ein Tag), um anzugeben, ob der Fortschrittsbalken angewendet werden soll oder nicht. Ich bin mir nicht sicher, was Sie wirklich brauchen. Soll der Fortschrittsbalken nicht auf der letzten Folie erscheinen? –

+0

Nein Ich möchte keine versteckten Folien, da ich sie vielleicht brauchen könnte. Ich möchte nur, dass der Fortschrittsbalken nach 20 Dias beendet wird, aber dann folgen weitere Dias. Ich hoffe ihr könnt mir helfen! – StevenNL

Antwort

0

Ersetzen Sie .Slides.Count mit dem Index der letzten Folie, auf der der Fortschrittsbalken angezeigt werden soll. Sie können es dynamisch machen, indem Sie InputBox verwenden, um den Wert einzugeben.

Verwandte Themen