我有一个非常长的PPT演示文稿(大约850张幻灯片),后半部分充满了我想删除某些文本的形状。可悲的是,它似乎与Slide Master无关,所以我不能使用它。VBA Powerpoint:使用特定文本删除形状。运行时错误'-2147024809(80070057)':指定的值超出范围
我得到了一个错误:
Run-time error '-2147024809 (80070057)':
The specified value is out of range
下面的代码,我此刻
Sub DeleteShapeWithSpecTxt()
Dim oSl As Slides, oSh As Shapes, oTr As TextRange
Dim str As String
Dim testcomp1, testcomp2
Dim lppt, ShapeNb, k, j As Long
Dim pptAct
Set pptAct = PowerPoint.ActivePresentation
str = pptAct.Slides(335).Shapes(4).TextFrame.TextRange.Text
lppt = pptAct.Slides.Count
For k = 1 To lppt
ShapeNb = pptAct.Slides(k).Shapes.Count
For j = 1 To ShapeNb
If pptAct.Slides(k).Shapes(j).HasTextFrame And StrComp(str, pptAct.Slides(k).Shapes(j).TextFrame.TextRange.Text) = 0 Then
pptAct.Slides(k).Shapes(j).Delete
End If
Next
Next
末次
很酷。我更新了答案,以包含在宏运行时从用户获取搜索字符串的可能性。如果答案有帮助,可以自由地为它投票:-) –
会很喜欢,但我需要15点的声望,我没有,因为我是新的stackoverflow ... –