我正在尝试按名称选择一张幻灯片。我通过大纲添加了标题。下面是不起作用的代码。“在幻灯片集合中找不到爱达荷州项目”

ActivePresentation.Slides("Idaho").Select
有帮助吗?

解决方案

幻灯片的姓名和标题占位符中的文本远定彼此无关。

除非您重命名,否则演示文稿中的第一个幻灯片将被命名为“SLIDE1”,第二个“SLIDE2”等。

如果您具体需要一种方法来定位其标题文本=“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
.

其他提示

恢复一个老问题,但我想把这个放进去。

虽然有可能 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).

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top