방법: 프로그래밍 방식으로 문서에서 찾은 항목 순환 검색
Find 클래스에는 검색 대상 항목을 찾을 때마다 true를 반환하는 Found 속성이 있습니다.Execute 메서드를 사용하여 Range에서 찾은 모든 인스턴스를 순환 검색할 수 있습니다.
적용 대상: 이 항목의 정보는 Word 2013 및 Word 2010의 문서 수준 프로젝트 및 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.
찾은 항목을 순환 검색하려면
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;
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); }
문자열을 찾은 횟수를 메시지 상자에 표시합니다.
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에서 검색 옵션 설정