Bỏ qua nội dung chính

Làm thế nào để tìm và thay thế văn bản trong tài liệu Word từ Excel?

Trong tài liệu Word, chúng ta có thể áp dụng chức năng Tìm và Thay thế để tìm và thay thế một văn bản nhanh chóng. Tuy nhiên, nếu có nhiều văn bản cần tìm và thay thế, hãy nhập từng văn bản một vào tính năng Tìm và Thay thế sẽ rất tốn thời gian. Trong trường hợp này, bạn có thể nhập văn bản tìm và thay thế vào danh sách ô và với sự trợ giúp của mã VBA trong Excel để thực hiện công việc này một cách dễ dàng. Trong bài viết này, tôi cũng sẽ giới thiệu một tính năng hữu ích để tìm và thay thế hàng loạt văn bản trong nhiều tài liệu Word.

Tìm và thay thế nhiều văn bản trong một tài liệu Word từ Excel bằng mã VBA

Tìm và thay thế nhiều văn bản trong nhiều tài liệu Word từ Excel bằng mã VBA

Tìm và thay thế nhiều văn bản trong nhiều tài liệu Word với một tính năng mạnh mẽ


Tìm và thay thế nhiều văn bản trong một tài liệu Word từ Excel bằng mã VBA

Nếu bạn muốn tìm và thay thế một số văn bản chỉ trong một tệp Word, mã VBA sau đây có thể giúp bạn.

1. Trong trang tính Excel, hãy tạo một cột chứa văn bản bạn muốn tìm và thay thế và một cột khác có văn bản để thay thế như hình minh họa bên dưới. Và sau đó nhấn Alt + F11 các phím đồng thời để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Sau đó nhấn vào Chèn > Mô-đun, sao chép và dán mã VBA bên dưới vào cửa sổ.

Mã VBA: Tìm và thay thế nhiều văn bản trong một tệp 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. Sau khi dán mã, vẫn còn trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp CÔNG CỤ > dự án, xem ảnh chụp màn hình:

4. Trong cửa sổ bật ra Tài liệu tham khảo - VBAProject hộp thoại, chọn Thư viện đối tượng Microsoft Word 16.0 từ hộp danh sách, xem ảnh chụp màn hình:

5. Nhấp chuột OK để đóng hộp thoại và bây giờ, nhấn F5 để chạy mã này, trong cửa sổ Duyệt qua bật lên, chọn Tệp Word bạn muốn thay thế văn bản, xem ảnh chụp màn hình:

6. Sau đó nhấn vào OK, trong hộp thoại sau, nhấn Ctrl để chọn riêng văn bản gốc và ô văn bản mới mà bạn muốn sử dụng, xem ảnh chụp màn hình:

7. Và sau đó, nhấp vào OK , bây giờ, các văn bản được tìm thấy và thay thế bằng các văn bản mới trong tài liệu được chỉ định của bạn và tệp cũng đang mở, bạn nên lưu nó để giữ các thay đổi.


Tìm và thay thế nhiều văn bản trong nhiều tài liệu Word từ Excel bằng mã VBA

Ở đây, tôi cũng tạo mã VBA để tìm và thay thế nhiều văn bản trong nhiều tài liệu Word, vui lòng thực hiện như sau:

1. Mở tệp Excel có chứa hai cột giá trị để thay thế và thay thế bằng như hình ảnh chụp màn hình bên dưới, sau đó nhấn Alt + F11 các phím đồng thời để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Sau đó nhấn vào Chèn > Mô-đun, sao chép và dán mã VBA bên dưới vào cửa sổ.

Mã VBA: Tìm và thay thế nhiều văn bản trong nhiều tệp 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. Vẫn trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp CÔNG CỤ > dự án, Trong Tài liệu tham khảo - VBAProject hộp thoại, chọn Thư viện đối tượng Microsoft Word 16.0Thời gian chạy tập lệnh của Microsoft tùy chọn từ hộp danh sách, xem ảnh chụp màn hình:

4. Sau khi kiểm tra hai tùy chọn và nhấp vào OK để đóng hộp thoại và sau đó, tiếp tục nhấn F5 phím để thực thi mã này, khi mở Xem cửa sổ, chọn một thư mục chứa các tài liệu Word mà bạn muốn thực hiện tìm và thay thế, xem ảnh chụp màn hình:

5. Nhấp chuột OK , trong hộp thoại bật ra, nhấn Ctrl để chọn riêng văn bản gốc và cột văn bản mới mà bạn muốn sử dụng, xem ảnh chụp màn hình:

6. Cuối cùng, nhấp OKvà các văn bản gốc được thay thế bằng các văn bản mới trên các tệp luận văn, sau khi hoàn thành, một hộp thoại sẽ bật ra như ảnh chụp màn hình bên dưới:

7. Nhấp chuột OK để đóng hộp thoại. Và bạn có thể vào tệp để kiểm tra kết quả đã chuyển đổi.


Tìm và thay thế nhiều văn bản trong nhiều tài liệu Word với một tính năng mạnh mẽ

Phần này, tôi sẽ nói về cách tìm và thay thế hàng loạt văn bản trong nhiều tài liệu Word từ Word thay vì Excel. Với một công cụ mạnh mẽ-Kutools cho Word, bạn có thể nhanh chóng tìm và thay thế các văn bản cụ thể và thay thế chúng bằng các văn bản mới trong tệp chính, đầu trang, chân trang, nhận xét, v.v. và đánh dấu kết quả khi bạn cần.

1. Mở một tệp Word, sau đó bấm Kutools Plus > Tìm và thay thế hàng loạt, xem ảnh chụp màn hình:

2. Trong mở Tìm và thay thế hàng loạt hộp thoại, vui lòng thực hiện các thao tác sau:

  • Nhấp chuột Thêm để thêm các tệp Word mà bạn muốn tìm và thay thế văn bản;
  • Trong ngăn bên trái, nhấp vào Thêm dòng từ dải băng trên cùng;
  • Trong trường đã chèn, hãy nhập văn bản gốc và văn bản mới vào Tìm kiếmThay thế các cột riêng biệt mà bạn muốn tìm và thay thế. Ngoài ra, bạn có thể chỉ định màu để đánh dấu các văn bản được thay thế khi bạn cần.

3. Sau khi tạo các tiêu chí tìm kiếm, hãy nhấp vào Thay thế nút để đi đến Xem trước kết quả để xem kết quả tìm và thay thế. Xem ảnh chụp màn hình:

4. Sau đó nhấn vào Đóng và một hộp nhắc xuất hiện để nhắc bạn nếu bạn muốn lưu trường hợp này, hãy nhấp vào để lưu nó và nhấp vào Không để bỏ qua nó, hãy xem ảnh chụp màn hình:

Lời khuyên: Tính năng này cũng có thể giúp đạt được các hoạt động sau:
  • Tìm và thay thế các ký tự đặc biệt trong nhiều tài liệu Word;
  • Tìm và thay thế nhiều chuỗi với định dạng cụ thể trong nhiều tài liệu Word;
  • Tìm và thay thế nhiều chuỗi trong nhiều tệp txt / htm / html.

Nhấp để biết thêm thông tin chi tiết của tính năng này…

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This works great, thank you! Is there a way to make the replacement text carry hyperlinks over? ie - if you have a hyperlinked replacement in the excel sheet, it is still hyperlinked in the Word doc?

Thanks!
This comment was minimized by the moderator on the site
Is there a way too modify this too find text and create hyperlink on the text from another column where i have the links already created? It worked correctly as a find and replace for me. Thanks
This comment was minimized by the moderator on the site
Hi,

I am wondering how this can be modified to also find and replace text in footnotes?

Thanks!
This comment was minimized by the moderator on the site
Hello, Nate,
If you want to find and replace the text in footnotes at the same time, maybe the Kutools for Word's Batch Find and Replace feature can help you.
You just need to check Main document and Footnotes from the Find in section, see below image:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word.png
This comment was minimized by the moderator on the site
It doesn't work.

Compile error: User-defined type not defined
This comment was minimized by the moderator on the site
Hello, Param
The code works well.
Maybe, you didn't check Microsoft Word 16.0 Object Library from the References – VBAProject dialog box.
It means that you may miss the Step 3 and Step 4 of this article.
Please try again, if you still have any other problem, please comment here.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
This comment was minimized by the moderator on the site
Sorry for the overdue reply. I have replied before, but my reply dissapeared somehow. You're right, the code does work well. But it replaced nothing when I tried it on a file with more than 80,000 lines.
This comment was minimized by the moderator on the site
Hello, Param
I have tested the code, it works well in my Word docuent which contains 140,000 lines.
Do you mind to upload your attachment here for testing?
Or you can apply our Kutools for Word's Batch Find and Replace feature, it can help you with ease.
Thank you!
This comment was minimized by the moderator on the site
Greetings,
the first code :
VBA code: Find and replace multiple texts in one Word file

thows error : compile error user defined type not defined
https://i.imgur.com/FZPBy4I.png
This comment was minimized by the moderator on the site
Hello, Erik
The code works well.
Maybe, you didn't check Microsoft Word 16.0 Object Library from the References – VBAProject dialog box.
It means that you may miss the Step 3 and Step 4 of this article.
Please try again, if you still have any other problem, please comment here.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations