首页 文章

vba powerpoint按名称选择幻灯片

提问于
浏览
1

我试图按名称选择幻灯片 . 我通过大纲添加了一个 Headers . 下面是不起作用的代码 . “在幻灯片集合中找不到项目Idaho”

ActivePresentation.Slides("Idaho").Select

2 回答

  • 2

    幻灯片的名称和 Headers 占位符中的文本彼此无关 .

    除非您重命名,否则演示文稿中的第一张幻灯片将命名为“Slide1”,第二张幻灯片将命名为“Slide2”,依此类推 .

    如果您特别需要一种方法来查找 Headers 文本=“Idaho”的幻灯片,则需要编写一个函数来搜索演示文稿中的所有幻灯片,并返回它找到的符合条件的第一个幻灯片 . 例如:

    Sub TestMe()
        Dim oSl As Slide
        Set oSl = FindSlideByTitle("idaho")
    
        If Not oSl Is Nothing Then
            MsgBox "Found your title on slide " & CStr(oSl.SlideIndex)
        End If
    
    End Sub
    Function FindSlideByTitle(sTextToFind As String) As Slide
        Dim oSl As Slide
    
        For Each oSl In ActivePresentation.Slides
            With oSl.Shapes.Title.TextFrame
                If .HasText Then
                    If UCase(.TextRange.Text) = UCase(sTextToFind) Then
                        Set FindSlideByTitle = oSl
                    End If
                End If
            End With
        Next
    
    End Function
    
  • 0

    复兴一个老问题,但我想把它扔进去 .

    虽然 ActivePresentation.Slides("MySlideName").Select 可能不起作用,但这在PPT 2010中对我有用:

    Dim PPTObj As PowerPoint.Application
    Set PPTObj = New PowerPoint.Application
    Dim PPTClinic As PowerPoint.Presentation
    Set PPTClinic = PPTObj.Presentations.Open(FileName:="Your File Name Here")
    PPTClinic.Slides("MySlideName").Select
    

    当然,这假设有一个名为"MySlideName"的幻灯片 . 您的代码必须妥善处理 Item MySlideName not found in the Slides collection. 错误( err.number = -2147188160 ) .

相关问题