10

プレゼンテーション モードでは、非表示のスライドだけが連続したページ番号で表示されるようにします。非表示のスライドがカウントされないようにするにはどうすればよいですか?

4

2 に答える 2

9

ありがとう、スティーブ。他の場所で私の質問に対する答えを見つけました。以下の機能を使用すると、非表示のスライドがプレゼンテーション モードで非表示のスライドのスライド番号と干渉することを回避できます。

Sub Number_NonHidden()
'For v.2007 onwards only
Dim osld As Slide
Dim objSN As Shape
Dim lngNum As Long
'check all slides
For Each osld In ActivePresentation.Slides
'Is it hidden
If osld.SlideShowTransition.Hidden Then
osld.HeadersFooters.SlideNumber.Visible = False
Else
osld.HeadersFooters.SlideNumber.Visible = True
Set objSN = getNumber(osld)
lngNum = lngNum + 1
If Not objSN Is Nothing Then ' there is a number placeholder
objSN.TextFrame.TextRange = CStr(lngNum + 1)
End If
End If
Next osld
End Sub

Function getNumber(thisSlide As Slide) As Shape
For Each getNumber In thisSlide.Shapes
If getNumber.Type = msoPlaceholder Then
If getNumber.PlaceholderFormat.Type = ppPlaceholderSlideNumber Then
'it's the slide number
Exit Function
End If
End If
Next getNumber
End Function

タイトル スライドに番号が付けられないようにするには、次のように lngNum = -1 を挿入し、マスター タイトル スライドのスライド番号ボックスを削除します。

'check all slides
lngNum = -1
For Each osld In ActivePresentation.Slides
于 2014-10-20T15:47:00.850 に答える
0

VBA では、次のようにします。

Sub CountSlides()
Dim oSl As Slide
Dim x As Long
For Each oSl In ActivePresentation.Slides
    If Not oSl.SlideShowTransition.Hidden Then
        x = x + 1
    End If
Next
MsgBox x
End Sub

つまり、スライドの SlideShowTransition.Hidden プロパティが True の場合はカウントしません。

于 2014-10-15T15:31:45.650 に答える