Excel 을 사용하여 Word 에서 여러 텍스트를 찾기 및 바꾸기 하는 방법은 무엇인가요?
작성자Xiaoyang•수정 날짜
Microsoft Word 에서 찾기 및 바꾸기 기능은 특정 텍스트를 빠르게 검색하고 바꾸는 효율적인 방법입니다。 그러나 여러 개의 서로 다른 용어를 바꿔야 할 경우, 각 항목을 수동으로 입력하는 것은 시간이 많이 소요됩니다。
이 과정을 간소화하기 위해 Excel 에서 바꿀 텍스트 목록을 작성한 후 간단한 VBA 코드로 작업을 자동화할 수 있습니다. 이 튜토리얼에서는 Excel 과 VBA 를 사용해 단일 Word 문서 내에서 여러 텍스트를 찾기 및 바꾸기 하는 방법을 안내합니다。 또한 여러 문서로 확장하는 방법과 일괄 텍스트 교체를 위한 강력한 Kutools 기능도 소개합니다。
VBA 코드를 사용하여 Excel 에서 하나의 Word 문서 내 여러 텍스트를 찾기 및 바꾸기
하나의 Word 파일에서만 일부 텍스트를 찾기 및 바꾸기 하고자 한다면, 다음 VBA 코드가 도움이 될 수 있습니다。
1。 Excel 워크시트에서 바꾸려는 텍스트를 포함한 열과 바뀔 텍스트를 담은 또 다른 열을 아래 스크린샷과 같이 만든 후Alt+F11키를 동시에 눌러Microsoft Visual Basic for Applications창을 엽니다。
2。 그런 다음삽입>모듈을 클릭하고 아래 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창에서도구>참조를 클릭합니다(스크린샷 참조):
4。 나타난참조 – VBAProject대화상자에서 목록 상자에서Microsoft Word 16.0 Object Library를 선택합니다(스크린샷 참조):
5.확인버튼을 클릭하여 대화상자를 닫은 후F5키를 눌러 이 코드를 실행합니다。 팝업된 찾아보기 창에서 텍스트를 바꾸려는 Word 파일을 선택합니다(스크린샷 참조):
6。 그런 다음확인을 클릭하고, 다음 대화상자에서Ctrl키를 눌러 사용하려는 원본 텍스트 셀과 새 텍스트 셀을 각각 선택합니다(스크린샷 참조):
7。 그런 다음확인버튼을 클릭하면 지정한 문서에서 텍스트가 찾아져 새 텍스트 으로 바뀌며 파일도 함께 열립니다。 변경 사항을 유지하려면 저장해야 합니다。
VBA 코드를 사용하여 Excel 에서 여러 Word 문서 내 여러 텍스트를 찾기 및 바꾸기
여러 Word 문서에서 여러 텍스트를 찾기 및 바꾸기 하도록 도와주는 VBA 코드도 작성했습니다。 다음 단계를 따르세요:
1。 아래 스크린샷과 같이 바꿀 값과 바뀔 값을 담은 두 열이 있는 Excel 파일을 열고Alt+F11키를 동시에 눌러Microsoft Visual Basic for Applications창을 엽니다。
2。 그런 다음삽입>모듈을 클릭하고 아래 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창에서도구>참조를 클릭하고참조 – VBAProject대화상자에서 목록 상자에서Microsoft Word 16.0 Object Library및Microsoft Scripting Runtime옵션을 선택합니다(스크린샷 참조):
4。 두 옵션을 선택한 후확인을 클릭하여 대화상자를 닫고F5키를 계속 눌러 이 코드를 실행합니다。 열리는찾아보기창에서 찾기 및 바꾸기 를 수행할 Word 문서가 포함된 폴더를 선택합니다(스크린샷 참조):
5.확인버튼을 클릭하고, 팝업된 대화상자에서Ctrl키를 눌러 사용하려는 원본 텍스트 열과 새 텍스트 열을 각각 선택합니다(스크린샷 참조):
6。 마지막으로확인을 클릭하면 이러한 파일 전체에서 원본 텍스트 이 새 텍스트로 바뀝니다。 완료 후 아래 스크린샷과 같은 대화상자가 팝업됩니다:
7.확인을 클릭하여 대화상자를 닫고 파일로 이동하여 변환 결과를 확인할 수 있습니다。
강력한 기능을 사용하여 여러 Word 문서 내 여러 텍스트를 찾기 및 바꾸기
이 섹션에서는 Excel 이 아닌 Word 자체를 사용하여 여러 Word 문서에서 텍스트를 일괄 찾기 및 바꾸기 하는 방법을 설명합니다。 강력한Kutools for Word기능을 사용하면 본문, 머리글, 바닥글, 주석 등에서 특정 텍스트를 효율적으로 검색하여 새 텍스트로 바꾸고 필요 시 결과를 강조 표시할 수도 있습니다。
Kutools for Word
Kutools for Word 은(는) Microsoft Word 에 직접 통합된 실용적인 도구로 일상적인 문서 작업을 더 빠르게 처리할 수 있도록 도와줍니다。 별도의 코딩이나 복잡한 설정이 필요 없습니다。