Microsoft Word에서 찾기 및 바꾸기 기능은 특정 텍스트를 빠르게 검색하고 바꾸는 효율적인 방법입니다. 그러나 여러 가지 다른 용어를 바꿔야 할 경우, 각 항목을 수동으로 입력하는 것은 시간이 많이 걸릴 수 있습니다.
이 과정을 간소화하기 위해 Excel을 사용하여 찾고 바꿀 텍스트 목록을 만들고 간단한 VBA 코드로 작업을 자동화할 수 있습니다. 이 튜토리얼에서는 Excel과 VBA를 사용하여 하나의 Word 문서 내에서 여러 텍스트를 찾고 바꾸는 방법을 안내합니다. 또한, 이를 여러 문서로 확장하는 방법과 일괄 텍스트 교체를 위한 강력한 Kutools 기능도 소개하겠습니다.
하나의 Word 파일에서 일부 텍스트를 찾고 바꾸려는 경우 다음 VBA 코드가 도움이 될 수 있습니다.
1. Excel 워크시트에서 아래 스크린샷에 표시된 대로 찾고 바꿀 텍스트를 포함하는 열과 바꿀 텍스트를 포함하는 또 다른 열을 만듭니다. 그런 다음 Alt+ F11 키를 동시에 눌러 Microsoft Visual Basic for Applications 창을 엽니다.
2. 그런 다음, Insert > Module을 클릭하고 아래 VBA 코드를 복사하여 창에 붙여넣습니다.
VBA 코드: 하나의 Word 파일에서 여러 텍스트를 찾고 바꾸기
Sub replace_texts_range_of_cells()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFileDlg As FileDialog
On Error GoTo ExitSub
Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
xFileDlg.AllowMultiSelect = False
xFileDlg.Filters.Add "Word Document", "*.docx; *.doc; *.docm"
xFileDlg.FilterIndex = 2
If xFileDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges):", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
(xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
GoTo ExitSub
End If
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
Set xDoc = xWordApp.Documents.Open(xFileDlg.SelectedItems.Item(1))
For I = 1 To xRng.Areas.Item(1).Cells.Count
With xDoc.Application.Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = xRng.Areas.Item(1).Cells.Item(I).Value
.Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
Next
ExitSub:
Set xRng = Nothing
Set xFileDlg = Nothing
Set xWordApp = Nothing
Set xDoc = Nothing
End Sub
3. 코드를 붙여넣은 후에도 여전히 Microsoft Visual Basic for Applications 창에서 Tools > References를 클릭하세요. 스크린샷을 참조하세요:
4. 나타난 References – VBAProject 대화 상자에서 목록 상자에서 Microsoft Word 16.0 Object Library를 선택하세요. 스크린샷을 참조하세요:
5. 대화 상자를 닫으려면 OK 버튼을 클릭하고 이제 F5 키를 눌러 이 코드를 실행합니다. 열리는 Browse 창에서 텍스트를 바꾸고 싶은 Word 파일을 선택하세요. 스크린샷을 참조하세요:
6. 그런 다음, OK를 클릭하고 다음 대화 상자에서 Ctrl 키를 눌러 사용하려는 원본 텍스트와 새 텍스트 셀을 각각 선택하세요. 스크린샷을 참조하세요:
7. 그리고 OK 버튼을 클릭하면 지정된 문서에서 텍스트가 찾아지고 새 텍스트로 바뀌며 파일도 열립니다. 변경 사항을 유지하려면 저장해야 합니다.
VBA 코드를 사용하여 Excel에서 여러 Word 문서에서 여러 텍스트를 찾고 바꾸기
또한 여러 Word 문서에서 여러 텍스트를 찾고 바꾸는 데 도움이 되는 VBA 코드를 작성했습니다. 다음 단계를 따르세요:
1. 아래 스크린샷에 표시된 대로 두 개의 값을 바꾸고 바꿀 텍스트를 포함하는 열이 있는 Excel 파일을 열고 Alt+ F11 키를 동시에 눌러 Microsoft Visual Basic for Applications 창을 엽니다.
2. 그런 다음, Insert > Module을 클릭하고 아래 VBA 코드를 복사하여 창에 붙여넣습니다.
VBA 코드: 여러 Word 파일에서 여러 텍스트를 찾고 바꾸기
Sub FindReplaceAcrossMultipleWordDocuments()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFolderDlg As FileDialog
Dim xFSO As Scripting.FileSystemObject
Dim xFile As File
On Error GoTo ExitSub
Set xFolderDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xFolderDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size", vbInformation + vbOKOnly, "Kutools for Excel"
GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
(xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
GoTo ExitSub
End If
Set xFSO = New Scripting.FileSystemObject
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
For Each xFile In xFSO.GetFolder(xFolderDlg.SelectedItems(1)).Files
If VBA.InStr(xFile.Type, "Microsoft Word") > 0 Then
Set xDoc = xWordApp.Documents.Open(xFile.Path)
For I = 1 To xRng.Areas.Item(1).Cells.Count
With xDoc.Application.Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = xRng.Areas.Item(1).Cells.Item(I).Value
.Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
Next
xDoc.Close wdSaveChanges
End If
Next
xWordApp.Quit
MsgBox "The Find and Replace has been completed", vbInformation + vbOKOnly, "Kutools for Excel"
ExitSub:
Set xRng = Nothing
Set xFolderDlg = Nothing
Set xWordApp = Nothing
Set xDoc = Nothing
End Sub
3. 여전히 Microsoft Visual Basic for Applications 창에서 Tools > References를 클릭하고 References – VBAProject 대화 상자에서 목록 상자에서 Microsoft Word 16.0 Object Library와 Microsoft Scripting Runtime 옵션을 선택하세요. 스크린샷을 참조하세요:
4. 두 옵션을 선택한 후 OK를 클릭하여 대화 상자를 닫고 계속해서 F5 키를 눌러 이 코드를 실행합니다. 열리는 Browse 창에서 find and replace를 수행하려는 Word 문서가 포함된 폴더를 선택하세요. 스크린샷을 참조하세요:
5. OK 버튼을 클릭하고 나타난 대화 상자에서 Ctrl 키를 눌러 사용하려는 원본 텍스트와 새 텍스트 열을 각각 선택하세요. 스크린샷을 참조하세요:
6. 마지막으로 OK를 클릭하면 원본 텍스트가 새 텍스트로 교체되고 완료되면 아래 스크린샷과 같이 대화 상자가 나타납니다:
7. 대화 상자를 닫으려면 OK를 클릭하세요. 그리고 변환된 결과를 확인하려면 파일로 이동할 수 있습니다.
강력한 기능을 사용하여 여러 Word 문서에서 여러 텍스트를 찾고 바꾸기
이 섹션에서는 Excel 대신 Word 자체를 사용하여 여러 Word 문서에서 일괄적으로 텍스트를 찾고 바꾸는 방법을 설명합니다. Kutools for Word의 강력한 기능을 사용하면 본문, 머리글, 바닥글, 의견 등에서 특정 텍스트를 효율적으로 검색하고 새 텍스트로 바꿀 수 있으며 필요에 따라 결과를 강조 표시할 수도 있습니다.
Kutools for Word,AI ?가 탑재되어 있으며, 100개 이상의 유용한 기능을 제공하여 작업을 간소화합니다.