在 VBA 中打印 table 内容时忽略隐藏的幻灯片 - Powerpoint

Ignore hidden slides when printing a table of contents in VBA - Powerpoint

我想在我的 powerpoint 演示文稿的开头写一个 table 的内容。

我的代码获取所有有标题的幻灯片,并打印它们及其索引。

我想知道在哪里可以找到确定幻灯片是否被隐藏的命令。我搜索了 msdn VBA Powerpoint 部分,但结果是空的。

比如我现在的项目是:

For y = 3 To ActivePresentation.Slides.Count
Set Diapo = ActivePresentation.Slides(y)
'si la diapo a un titre
If Diapo.Shapes.HasTitle Then
Set titre = Diapo.Shapes.Title
texte_ajout = texte_ajout & Format(y, "0 - ") & titre.TextFrame. _
TextRange.Text & Chr(13) & vbCrLf
End If
Next y

它计算所有幻灯片,包括那些可能被隐藏的幻灯片。

我想(如果可能的话)在第一个 if 之前和 set Diapo 之后写这个

If Diapo.SlideShowTransition.Hidden = msoTrue Then
Set counthidden = counthidden + 1

...

texte_ajout = texte_ajout & Format(y-counthidden, "0 - ") & titre.TextFrame. _
TextRange.Text & Chr(13) & vbCrLf
End If

(我先定义了counthidden为byte,然后定义为long,但是不行) 可能吗?

给你 ;)

For y = 3 To ActivePresentation.Slides.Count
    Set Diapo = ActivePresentation.Slides(y)
    If Diapo.SlideShowTransition.Hidden = msoTrue Then 'other value : msoFalse
        CountHidden = CountHidden + 1
    Else
        'The slide is not hidden
        If Diapo.Shapes.HasTitle Then
            'si la diapo a un titre
            Set titre = Diapo.Shapes.Title
            texte_ajout = texte_ajout & Format(y - CountHidden, "0 - ") & titre.TextFrame. _
                TextRange.Text & Chr(13) & vbCrLf
        End If
    End If
Next y