매우 긴 ppt 프레젠테이션 (약 850 슬라이드)이 있고 두 번째 절반에는 삭제할 특정 텍스트가있는 모양이 가득합니다. . 슬프게도, 그것은 슬라이드 마스터와 아무런 관련이없는 것처럼 보입니다. 그래서 그것을 사용할 수 없습니다. 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
최종 하위
차가워졌습니다. 매크로가 실행될 때 사용자로부터 검색 문자열을 가져올 수있는 가능성을 포함하도록 답변을 업데이트했습니다. 답변이 도움이된다면, 그것을 자유롭게 투표하십시오 :-) –
사랑 하겠지만, 저는 15over 평판이 필요합니다. 나는 stackoverflow를 처음 접하는 이래로 가지고 있지 않습니다 ... –