Ctrl+F 검색을 좀 더 보완한 검색방법입니다.
파워포인트에서 정규식 외에 Like 를 이용해서 아무 문자를 나타내는 * 나 ? 를 이용해서 비슷한 문자열을 검색하는 방법입니다.
예를 들어 "수*" 를 검색하면 '수박, 수수깡, 수건' 등이 검색됩니다. "수?"를 검색하면 '수박, 수건' 만 검색됩니다.
실행 영상:
코드:
더보기
Sub SearchAgain()
Dim sld As Slide, sldnow As Slide
Dim shp As Shape, shpnow As Shape
Dim tr As TextRange
Dim found As Boolean
Dim ZO As Long
Dim str As String
'str = "1*"
If Len(strSearch) = 0 Then
str = InputBox("찾을 문자열을 입력하세요.", "찾기")
If Len(str) = 0 Then Exit Sub
strSearch = str
Else
str = strSearch
End If
On Error Resume Next
Set sldnow = ActiveWindow.View.Slide
Set shpnow = ActiveWindow.Selection.ShapeRange(1)
If Not shpnow Is Nothing Then ZO = shpnow.ZOrderPosition
Debug.Print "ZO", ZO
On Error GoTo 0
For Each sld In ActivePresentation.Slides
If sld.SlideIndex >= sldnow.SlideIndex Then
If sld.SlideIndex > sldnow.SlideIndex Then ZO = 0
For Each shp In sld.Shapes
If ZO = 0 Or (ZO > 0 And shp.ZOrderPosition > ZO) Then
If shp.HasTextFrame Then
If shp.TextFrame.HasText Then
If shp.TextFrame.TextRange Like str Then
Debug.Print "#" & sld.SlideIndex, shp.Name
ActiveWindow.View.GotoSlide sld.SlideIndex
shp.Select
found = True
Exit For
End If
End If
End If
End If
Next shp
If found Then Exit For
End If
Next sld
End Sub
Sub Search()
strSearch = ""
SearchAgain
End Sub
빠른 실행에 아래 Search 와 SearchAgain을 추가하고 Alt+숫자키를 이용해서 검색과 재검색을 할 수 있습니다.
그밖에 파워포인트에서도 VBA에서 정규식을 이용할 수도 있습니다.
'PPT+VBA' 카테고리의 다른 글
인쇄용 종이 크기와 파워포인트 슬라이드 크기 비교 (0) | 2021.12.30 |
---|---|
도형이나 슬라이드를 원하는 크기로 저장 (1) | 2021.12.21 |
타이머 바(bar) 만들기 2가지 방법 (0) | 2021.12.19 |
글머리 기호 일괄 삭제 (0) | 2021.12.11 |
2007에서 애니메이션 복사 기능 구현 (0) | 2021.12.05 |
시계눈금, 회전살 그리기 (0) | 2021.11.29 |
클릭 시 표 도형이 펼쳐지는 효과 일괄 추가하기 (0) | 2021.11.26 |
ppt에 여러 개의 오디오가 연속으로 재생되게 하는 팁 (0) | 2021.11.14 |
최근댓글