首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >vba powerpoint按名称选择幻灯片

vba powerpoint按名称选择幻灯片
EN

Stack Overflow用户
提问于 2014-07-30 14:06:16
回答 2查看 7.9K关注 0票数 2

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

代码语言:javascript
运行
复制
ActivePresentation.Slides("Idaho").Select
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-30 14:35:21

幻灯片的名称和标题占位符中的文本之间没有任何关系。

除非您已经将其重命名,否则演示文稿中的第一张幻灯片将被命名为"Slide1",第二张幻灯片将命名为"Slide2“等等。

如果您特别需要一种方法来定位标题为"Idaho“的幻灯片,则需要编写一个函数来搜索演示文稿中的所有幻灯片,并返回它找到的符合您标准的第一个幻灯片。例如:

代码语言:javascript
运行
复制
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
票数 3
EN

Stack Overflow用户

发布于 2015-08-20 16:33:28

让我想起一个老问题,但我想把这个扔进去。

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

代码语言:javascript
运行
复制
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)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25038952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档