我正在尝试按名称选择幻灯片。我通过大纲添加了标题。下面是不工作的代码。“在幻灯片集中找不到项目爱达荷州”
ActivePresentation.Slides("Idaho").Select
我正在尝试按名称选择幻灯片。我通过大纲添加了标题。下面是不工作的代码。“在幻灯片集中找不到项目爱达荷州”
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
)。