:
[ snipping away all the old stuff ]
Good Idea ^_^.
And back to you, modified. No changes to anything else but Sub
Numbers.
You might also want to either delete all rectangles and add your own
new one centered top to bottom on the slide or center the shape that
you're already using.
Sub Numbers()
Dim SlideCount As Integer
Dim oSl As Slide
Dim oSh As Shape
' rather than mess with a form, I'm just plugging
' values into the string here for test porpoises.
' ignore this
'myStr = "3,5,8,11,44,99,22,33"
For SlideCount = 2 To ((2 * (UBound(Split(myStr, ",")) + 1)) + 1)
Set oSl = ActivePresentation.Slides.Add(Index:=SlideCount, _
Layout:=ppLayoutText)
With oSl
.Shapes("Rectangle 2").Delete
'.Background.Fill.ForeColor.RGB = RGB(0, 0, 0)
' Just stole this from a recorded macro ...
.FollowMasterBackground = msoFalse
.DisplayMasterShapes = msoTrue
With .Background
.Fill.Visible = msoTrue
.Fill.ForeColor.RGB = RGB(0, 0, 0)
.Fill.Transparency = 0#
.Fill.Solid
End With
Set oSh = .Shapes("Rectangle 3")
' this should sort out the centering problems
oSh.TextFrame.VerticalAnchor = msoAnchorMiddle
oSh.TextFrame.HorizontalAnchor = msoAnchorCenter
With oSh.TextFrame.TextRange
'.Font.Color.RGB = RGB(255, 255, 255)
.Paragraphs(Start:=1, _
Length:=1).ParagraphFormat.Alignment = ppAlignCenter
.Paragraphs(Start:=1, _
Length:=1).ParagraphFormat.Bullet.Visible = msoFalse
If IsOdd(SlideCount) Then
.Text = ""
Else
.Text = Split(myStr, ",")((SlideCount / 2) - 1)
End If
With .Font
.Name = "Arial"
.Size = 227
.Bold = msoFalse
.Italic = msoFalse
.Underline = msoFalse
.Shadow = msoFalse
.Emboss = msoFalse
.BaselineOffset = 0
.AutoRotateNumbers = msoFalse
.Color.RGB = RGB(255, 255, 255)
'.Color.SchemeColor = ppForeground
End With
End With ' Osh
End With ' oSl
Next
End Sub
==============================
PPT Frequently Asked Questions
http://www.pptfaq.com/
PPTools add-ins for PowerPoint
http://www.pptools.com/