I have a powerpoint presentation with hidden slides.
I want to number only the visible slides.
I got this code :
Sub Numerotation()
Dim x As Integer
Dim diapo As Slide
For Each diapo In ActivePresentation.Slides
If diapo.SlideShowTransition.Hidden = False Then
x = x + 1
diapo.HeadersFooters.Footer.Text = x
Else
diapo.HeadersFooters.Footer.Text = ""
End If
Next
End Sub
I got this error :
Execution Error : '-2147188160 (80048240)':
HeaderFooter (unknown member) : Invalid request
I don't understand why vba doesn't recognise the HeaderFooter member (here is what MSDN says)
Can you help me figure out what seems to be wrong?
The MSDN example, as is so often the case, is half-accurate at best. If the Footer object isn't visible, attempting to assign text to it results in the error you're seeing. Here's a slight mod to your code that works:
Sub Numerotation()
Dim x As Integer
Dim diapo As Slide
For Each diapo In ActivePresentation.Slides
If diapo.SlideShowTransition.Hidden = False Then
x = x + 1
diapo.HeadersFooters.Footer.Visible = True
diapo.HeadersFooters.Footer.Text = CStr(x)
Else
diapo.HeadersFooters.Footer.Visible = False
End If
Next
End Sub
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With