Як знайти та замінити текст у документі Word із Excel?
У документі Word ми можемо застосувати функцію «Знайти та замінити», щоб швидко знайти та замінити один текст. Але, якщо потрібно знайти та замінити кілька текстів, введення тексту по одному у функцію «Знайти та замінити» займе багато часу. У цьому випадку ви можете ввести текст пошуку та заміни в список клітинок і за допомогою коду VBA в Excel легко виконати цю роботу. У цій статті я також розповім про корисну функцію пакетного пошуку та заміни текстів у кількох документах Word.
Знайдіть і замініть кілька текстів в одному документі Word із Excel кодом VBA
Знайдіть і замініть кілька текстів у кількох документах Word із Excel кодом VBA
Знайдіть і замініть кілька текстів у кількох документах Word за допомогою потужної функції
Знайдіть і замініть кілька текстів в одному документі Word із Excel кодом VBA
Якщо ви хочете знайти та замінити деякі тексти лише в одному файлі Word, наведений нижче код VBA може зробити вам послугу.
1. На робочому аркуші Excel створіть стовпець, що містить тексти, які потрібно знайти та замінити, а також інший стовпець із текстами, які потрібно замінити, як показано на знімку екрана нижче. А потім натисніть Alt + F11 клавіші одночасно, щоб відкрити Microsoft Visual Basic для додатків вікна.
2. Потім натисніть кнопку Insert > Модулі, скопіюйте та вставте наведений нижче код 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 для додатків вікна, натисніть Tools > посилання, див. скріншот:
4. У вискочив Посилання - VBAProject діалоговому вікні, виберіть Бібліотека об’єктів Microsoft Word 16.0 зі списку, перегляньте знімок екрана:
5. Клацання OK щоб закрити діалогове вікно, а тепер натисніть F5 щоб запустити цей код, у спливаючому вікні «Огляд» виберіть файл Word, яким потрібно замінити тексти, перегляньте знімок екрана:
6. Потім натисніть кнопку OK, у наступному діалоговому вікні натисніть Ctrl клавіша для виділення оригінального тексту та нових текстових клітинок окремо, які ви бажаєте використовувати, див. знімок екрана:
7. А потім натисніть OK кнопку, тепер тексти знайдено та замінено новими текстами у вказаному вами документі, а також відкривається файл, вам слід зберегти його, щоб зберегти зміни.
Знайдіть і замініть кілька текстів у кількох документах Word із Excel кодом VBA
Тут я також створюю код VBA для пошуку та заміни кількох текстів у кількох документах Word, виконайте наступне:
1. Відкрийте файл Excel, який містить два стовпці значень, які потрібно замінити, і замініть, як показано на знімку екрана нижче, а потім натисніть Alt + F11 клавіші одночасно, щоб відкрити Microsoft Visual Basic для додатків вікна.
2. Потім натисніть кнопку Insert > Модулі, скопіюйте та вставте наведений нижче код 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 для додатків вікна, натисніть Tools > посилання, В Посилання - VBAProject діалоговому вікні, виберіть Бібліотека об’єктів Microsoft Word 16.0 та Виконання сценаріїв Microsoft параметри зі списку, див. знімок екрана:
4. Після перевірки двох варіантів натисніть OK щоб закрити діалогове вікно, а потім продовжуйте натискати F5 ключ для виконання цього коду, у відкритті перегорнути виберіть папку, яка містить документи Word, які потрібно знайти та замінити, перегляньте знімок екрана:
5. Клацання OK кнопку, у спливаючому діалоговому вікні натисніть Ctrl клавіша для вибору оригінального тексту та нових текстових стовпців окремо, які ви бажаєте використовувати, див. знімок екрана:
6. Нарешті, клацніть OK, а вихідні тексти замінюються новими у файлах тез. Після завершення з’явиться діалогове вікно, як показано на знімку екрана нижче:
7. Клацання OK щоб закрити діалогове вікно. І ви можете перейти до файлів, щоб перевірити перетворені результати.
Знайдіть і замініть кілька текстів у кількох документах Word за допомогою потужної функції
У цьому розділі я розповім про те, як групово знаходити та замінювати тексти в кількох документах Word із Word замість Excel. З потужним інструментом -Kutools для Word, ви можете швидко знайти та замінити певні тексти та замінити їх новими текстами в основному файлі, верхньому та нижньому колонтитулах, коментарях тощо та виділити результати, як вам потрібно.
1. Відкрийте один файл Word і клацніть Kutools Plus > Пакетний пошук та заміна, див. скріншот:
2. У відкритому Пакетний пошук та заміна діалоговому вікні, виконайте такі дії:
- Натисніть додавати кнопка для додавання файлів Word, де потрібно знайти та замінити тексти;
- На лівій панелі натисніть Додати рядок з верхньої стрічки;
- У вставлене поле введіть вихідний текст і новий текст у знайти та заміщати окремо стовпці, які потрібно знайти та замінити. Крім того, ви можете вказати колір для виділення замінених текстів, як вам потрібно.
3. Після створення критеріїв пошуку натисніть заміщати кнопка, щоб перейти до Результат попереднього перегляду для перегляду результатів пошуку та заміни. Перегляньте скріншот:
4. Потім натисніть кнопку близько кнопку, і з’явиться вікно підказки, щоб нагадати вам, якщо ви хочете зберегти цей сценарій, натисніть Так щоб зберегти його та натисніть Немає щоб проігнорувати це, див. скріншот:
- Знайти та замінити спеціальні символи в кількох документах Word;
- Знайти та замінити кілька рядків певним форматуванням у кількох документах Word;
- Знайдіть і замініть кілька рядків у кількох файлах txt/htm/html.
Найкращі інструменти продуктивності офісу
Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу. Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...
Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!