선택 범위 내에서 검색할 PowerPoint 매크로

1725 단어 VBA파워 포인트

하고 싶은 일



PowerPoint에서 전체 텍스트가 아닌 선택 범위 내에서 텍스트를 검색하고 싶습니다.

매크로를 만드는 방법



우선은 아래와 같은 유저 폼을 만든다.


사용자 양식에 다음과 같은 코드를 포함합니다.
"검색"버튼과 "다음"버튼은 각각 "btnSearch", "btnNext"를 할당한다.

UserForm1.frm
Option Explicit

Private MyRng As TextRange
Private Found As TextRange

'「検索」ボタンを押したとき
Private Sub btnSearch_Click()

    On Error GoTo ErrMessage

    Set MyRng = ActiveWindow.Selection.TextRange
    Set Found = MyRng.Find(TextBox1.text) 'テキストボックスに記入したテキストを検索する
    Found.Select

    Exit Sub

ErrMessage:
    MsgBox "検索を行う範囲を選択してください"

End Sub

'「次へ」ボタンを押したとき
Private Sub btnNext_Click()

    On Error GoTo ErrMessage

    With Found
        Set Found = MyRng.Find(TextBox1.text, .Start + .length - 1) '次のテキストを検索
        If Not (Found Is Nothing) Then
            Found.Select
        Else
            MsgBox "見つかりません"
        End If
    End With

    Exit Sub

ErrMessage:
    MsgBox "検索を行う範囲を選択してください"

End Sub

표준 모듈에서 호출할 수 있도록 한다.

Module1.bas

Option Explicit

Public Sub Sample()

    UserForm1.Show vbModeless

End Sub


이제 선택 범위에서 검색 할 수 있습니다.

도전



텍스트를 선택할 때는 제대로 작동하지만 자동 모양을 선택하면 제대로 작동하지 않는 것 같습니다. 다양한 선택 범위에 대해 이 매크로를 동작시키려면 에러 처리를 만들어야 할 것 같습니다.

참고


  • TextRange.Find 메서드 (PowerPoint)
  • 좋은 웹페이지 즐겨찾기