다음을 통해 공유


방법: 문서에서 찾은 항목 순환 검색

업데이트: 2007년 11월

적용 대상

이 항목의 정보는 Microsoft Office의 지정된 Visual Studio Tools for Office 프로젝트 및 버전에만 적용됩니다.

프로젝트 형식

  • 문서 수준 프로젝트

  • 응용 프로그램 수준 프로젝트

Microsoft Office 버전

  • Word 2003

  • Word 2007

자세한 내용은 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

Find 클래스에는 검색 대상 항목을 찾을 때마다 true를 반환하는 Found 속성이 있습니다. Execute 메서드를 사용하여 Range에서 찾은 모든 인스턴스를 순환 검색할 수 있습니다.

찾은 항목을 순환 검색하려면

  1. Range 개체를 선언합니다.

    다음 코드 예제는 문서 수준 사용자 지정에 사용할 수 있습니다.

    Dim rng As Word.Range = Me.Content
    
    Word.Range rng = this.Content; 
    

    다음 코드 예제는 응용 프로그램 수준 추가 기능에 사용할 수 있습니다. 이 예제에서는 활성 문서를 사용합니다.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Content
    
    Word.Document document = this.Application.ActiveDocument;
    Word.Range rng = document.Content;
    
  2. Found 속성을 사용하여 문서에서 문자열의 모든 항목을 순환 검색하고 문자열을 찾을 때마다 변수의 정수 값을 하나씩 늘립니다.

    rng.Find.ClearFormatting()
    rng.Find.Forward = True
    rng.Find.Text = "find me"
    
    rng.Find.Execute()
    
    Do While rng.Find.Found = True
        intFound += 1
        rng.Find.Execute()
    Loop
    
    rng.Find.ClearFormatting(); 
    rng.Find.Forward = true; 
    rng.Find.Text = "find me"; 
    
    rng.Find.Execute(
        ref missing, ref missing, ref missing, ref missing, ref missing, 
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing);
    
    while (rng.Find.Found) 
    { 
        intFound++;
        rng.Find.Execute(
            ref missing, ref missing, ref missing, ref missing, ref missing, 
            ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref missing, ref missing);
    } 
    
  3. 문자열을 찾은 횟수를 메시지 상자에 표시합니다.

    MessageBox.Show("Strings found: " & intFound.ToString())
    
    MessageBox.Show("Strings found: " + intFound.ToString()); 
    

다음 예제에서는 전체 메서드를 보여 줍니다.

문서 수준 사용자 지정 예제

문서 수준 사용자 지정의 항목을 순환 검색하려면

  • 다음 예제에서는 문서 수준 사용자 지정의 전체 코드를 보여 줍니다. 이 코드를 사용하려면 프로젝트의 ThisDocument 클래스에서 이 코드를 실행하십시오.

    Private Sub FindLoop()
        Dim intFound As Integer = 0
        Dim rng As Word.Range = Me.Content
    
        rng.Find.ClearFormatting()
        rng.Find.Forward = True
        rng.Find.Text = "find me"
    
        rng.Find.Execute()
    
        Do While rng.Find.Found = True
            intFound += 1
            rng.Find.Execute()
        Loop
    
        MessageBox.Show("Strings found: " & intFound.ToString())
    End Sub
    
    private void FindLoop() 
    { 
        int intFound = 0; 
        Word.Range rng = this.Content; 
    
        rng.Find.ClearFormatting(); 
        rng.Find.Forward = true; 
        rng.Find.Text = "find me"; 
    
        rng.Find.Execute(
            ref missing, ref missing, ref missing, ref missing, ref missing, 
            ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref missing, ref missing);
    
        while (rng.Find.Found) 
        { 
            intFound++;
            rng.Find.Execute(
                ref missing, ref missing, ref missing, ref missing, ref missing, 
                ref missing, ref missing, ref missing, ref missing, ref missing,
                ref missing, ref missing, ref missing, ref missing, ref missing);
        } 
    
        MessageBox.Show("Strings found: " + intFound.ToString()); 
    }
    

응용 프로그램 수준 추가 기능 예제

응용 프로그램 수준 추가 기능의 항목을 순환 검색하려면

  • 다음 예제에서는 응용 프로그램 수준 추가 기능의 전체 코드를 보여 줍니다. 이 코드를 사용하려면 프로젝트의 ThisAddIn 클래스에서 이 코드를 실행하십시오.

    Private Sub FindLoop()
        Dim intFound As Integer = 0
        Dim rng As Word.Range = Me.Application.ActiveDocument.Content
    
        rng.Find.ClearFormatting()
        rng.Find.Forward = True
        rng.Find.Text = "find me"
    
        rng.Find.Execute()
    
        Do While rng.Find.Found = True
            intFound += 1
            rng.Find.Execute()
        Loop
    
        MessageBox.Show("Strings found: " & intFound.ToString())
    End Sub
    
    private void FindLoop()
    {
        int intFound = 0;
        Word.Document document = this.Application.ActiveDocument;
        Word.Range rng = document.Content;
    
        rng.Find.ClearFormatting();
        rng.Find.Forward = true;
        rng.Find.Text = "find me";
    
        rng.Find.Execute(
            ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref missing, ref missing);
    
        while (rng.Find.Found)
        {
            intFound++;
            rng.Find.Execute(
                ref missing, ref missing, ref missing, ref missing, ref missing,
                ref missing, ref missing, ref missing, ref missing, ref missing,
                ref missing, ref missing, ref missing, ref missing, ref missing);
        }
    
        MessageBox.Show("Strings found: " + intFound.ToString());
    }
    

참고 항목

작업

방법: 문서에서 텍스트 검색

방법: Word에서 검색 옵션 설정

방법: 문서 내의 범위 정의 및 선택

방법: 검색 후 선택 영역 복원

개념

Office 솔루션의 선택적 매개 변수 이해