Mẹo: Các ngôn ngữ khác được Dịch bởi Google. Bạn có thể ghé thăm English phiên bản của liên kết này.
Đăng nhập
x
or
x
x
Ghi danh
x

or

Làm thế nào để tìm kiếm và thay thế trên nhiều tập tin trong từ?

Nếu bạn có vài chục tập tin từ chứa cùng một nội dung (ví dụ như Đầu trang, chân trang, một số từ hoặc số đặc biệt) và bạn cần phải thay thế cùng một nội dung trên các tài liệu đó trong Word. Làm thế nào để bạn thực hiện nó nhanh hơn? Chắc chắn, bạn có thể mở từng tệp một để thay thế cùng một nội dung, nhưng sẽ tốn nhiều thời gian và phiền hà. Hướng dẫn này sẽ chỉ cho bạn một cách để thay thế cùng một nội dung trong nhiều tài liệu trong Word cùng một lúc.

Tìm và thay thế văn bản trên nhiều tài liệu từ cùng một lúc bằng mã VBA


Kết hợp / hợp nhất nhiều tài liệu vào một cách dễ dàng:

Chỉ báo Hợp nhất các tài liệu tiện ích của Kutools cho Word có thể giúp bạn kết hợp nhiều tài liệu vào một cách nhanh chóng. Bạn chỉ cần:

  • Chọn các tài liệu bạn sẽ kết hợp thành một;
  • Chỉ định ngắt giữa mỗi tài liệu được kết hợp;
  • Bắt đầu hợp nhất. Xem ảnh chụp màn hình:

Kutools cho Word: với nhiều hơn 100 tiện ích Word add-in, miễn phí để thử với không có giới hạn trong 30 ngày. Tải xuống và dùng thử ngay bây giờ!

Kutools cho Word: Thêm 100 tính năng nâng cao mới đến từ 2003 / 2007 / 2010 / 2013 / 2016 / 2019.
Tab Office: Kích hoạt Chỉnh sửa và duyệt Tab ở Văn phòng, Giống như Chrome, Firefox, IE 8 / 9 / 10.
Menu cổ điển cho văn phòng: Mang lại giao diện cũ của Office 2003 Quay lại đến Văn phòng 2007, 2010, 2013, 2016 và 2019.

Tìm và thay thế văn bản trên nhiều tài liệu từ cùng một lúc bằng mã VBA

1. nhấn Khác + F11 để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Mô-đun, sau đó sao chép mã VBA sau vào cửa sổ Mô-đun.

Mã VBA: Tìm kiếm và thay thế cùng một nội dung trên nhiều tài liệu cùng một lúc

Sub CommandButton1_Click()
'Updated by Extendoffice 20180625
Dim xFileDialog As FileDialog, GetStr(1 To 100) As String '100 files is the maximum applying this code
Dim xFindStr As String
Dim xReplaceStr As String
Dim xDoc As Document
On Error Resume Next
Set xFileDialog = Application.FileDialog(msoFileDialogFilePicker)
With xFileDialog
    .Filters.Clear
    .Filters.Add "All WORD File ", "*.docx", 1
    .AllowMultiSelect = True
    i = 1
    If .Show = -1 Then
        For Each stiSelectedItem In .SelectedItems
            GetStr(i) = stiSelectedItem
            i = i + 1
        Next
        i = i - 1
    End If
    Application.ScreenUpdating = False
    xFindStr = InputBox("Find what:", "Kutools for Word", xFindStr)
    xReplaceStr = InputBox("Replace with:", "Kutools for Word", xReplaceStr)
    For j = 1 To i Step 1
        Set xDoc = Documents.Open(FileName:=GetStr(j), Visible:=True)
        Windows(GetStr(j)).Activate
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = xFindStr  'Find What
            .Replacement.Text = xReplaceStr  'Replace With
            .Forward = True
            .Wrap = wdFindAsk
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Application.Run macroname:="NEWMACROS"
        ActiveDocument.Save
        ActiveWindow.Close
    Next
    Application.ScreenUpdating = True
End With
MsgBox "Operation end, please view", vbInformation
End Sub

3. Nhấn nút F5 phím để chạy mã.

4. Trong phần mở đầu Duyệt cửa sổ, vui lòng tìm và chọn tài liệu bạn sẽ tìm và thay thế văn bản bên trong, sau đó nhấp vào OK nút. Xem ảnh chụp màn hình:

5. Trước hết Kutools cho Word hộp thoại, nhập văn bản bạn sẽ tìm thấy trên các tài liệu vào Tìm hộp, và sau đó nhấp vào OK nút.

6. Thứ hai Kutools cho Word hộp thoại, nhập văn bản bạn sẽ thay thế bằng và nhấp vào OK nút.

8. Nhấp vào OK nút tiếp theo Microsoft Word hộp thoại để hoàn thành việc tìm và thay thế.

Trong trường hợp này, tất cả các từ "Word" trong các tài liệu được chọn sẽ được thay thế bằng "Excel" cùng một lúc.


Tab Office - Duyệt tab, chỉnh sửa và quản lý nhiều tài liệu trong Word:

Tab Office mang giao diện tab như trong các trình duyệt web như Google Chrome, Internet Explorer phiên bản mới và Firefox sang Microsoft Word. Nó sẽ là một công cụ tiết kiệm thời gian và irreplaceble trong công việc của bạn. Xem bản demo dưới đây:

Nhấp để dùng thử miễn phí Office Tab!




Kutools cho Word

Hơn 100 chức năng nâng cao cho Word 2003, 2007, 2010, 2013, 2016 và 2019

shot-kutools-700-225-kte

Các tính năng khác | Tải xuống miễn phí | Chỉ có $ 39.00 cho hàng trăm chức năng

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Tiago · 23 days ago
    Is it possible to replace in the headers of the word doc?
    • To post as a guest, your comment is unpublished.
      crystal · 20 days ago
      Hi Tiago,
      Please apply the below VBA code to include the content of headers and footers when finding and replacing texts in multiple documents at once.

      Sub CommandButton1_Click()
      'Updated by Extendoffice 20180625
      Dim xFileDialog As FileDialog, GetStr(1 To 100) As String '100 files is the maximum applying this code
      Dim xFindStr As String
      Dim xReplaceStr As String
      Dim xDoc As Document
      On Error Resume Next
      Set xFileDialog = Application.FileDialog(msoFileDialogFilePicker)
      With xFileDialog
      .Filters.Clear
      .Filters.Add "All WORD File ", "*.docx", 1
      .AllowMultiSelect = True
      i = 1
      If .Show = -1 Then
      For Each stiSelectedItem In .SelectedItems
      GetStr(i) = stiSelectedItem
      i = i + 1
      Next
      i = i - 1
      End If
      Application.ScreenUpdating = False
      xFindStr = InputBox("Find what:", "Kutools for Word", xFindStr)
      xReplaceStr = InputBox("Replace with:", "Kutools for Word", xReplaceStr)
      For j = 1 To i Step 1
      Set xDoc = Documents.Open(FileName:=GetStr(j), Visible:=True)
      Windows(GetStr(j)).Activate
      Selection.Find.ClearFormatting
      Selection.Find.Replacement.ClearFormatting
      With Selection.Find
      .Text = xFindStr 'Find What
      .Replacement.Text = xReplaceStr 'Replace With
      .Forward = True
      .Wrap = wdFindAsk
      .Format = False
      .MatchCase = False
      .MatchWholeWord = False
      .MatchByte = True
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
      End With
      Selection.Find.Execute Replace:=wdReplaceAll
      Application.Run macroname:="NEWMACROS"
      If MsgBox("Do you want to replace texts in headers and footers too? ", vbYesNo, "Kutools for Word") = vbYes Then
      ActiveWindow.View.SplitSpecial = wdPanePrimaryFooter
      Selection.Find.Execute Replace:=wdReplaceAll
      Application.Run macroname:="NEWMACROS"
      ActiveWindow.View.SplitSpecial = wdPanePrimaryHeader
      Selection.Find.Execute Replace:=wdReplaceAll
      Application.Run macroname:="NEWMACROS"
      End If
      ActiveDocument.Save
      ActiveWindow.Close
      Next
      Application.ScreenUpdating = True
      End With
      MsgBox "Operation end, please view", vbInformation
      End Sub
  • To post as a guest, your comment is unpublished.
    dsadasd · 23 days ago
    Is that possible to replace in the header of the word doc?
  • To post as a guest, your comment is unpublished.
    martinadam · 3 months ago
    Thanks for sharing this information with us.
    Word search and replace tool
  • To post as a guest, your comment is unpublished.
    nathalie · 5 months ago
    Works perfectly but is there a similar macro to change text in the header! because this does not work with this version!
    thanks
    • To post as a guest, your comment is unpublished.
      crystal · 20 days ago
      Hi,
      Please apply the below VBA code to include the content of headers and footers when finding and replacing texts in multiple documents at once.

      Sub CommandButton1_Click()
      'Updated by Extendoffice 20180625
      Dim xFileDialog As FileDialog, GetStr(1 To 100) As String '100 files is the maximum applying this code
      Dim xFindStr As String
      Dim xReplaceStr As String
      Dim xDoc As Document
      On Error Resume Next
      Set xFileDialog = Application.FileDialog(msoFileDialogFilePicker)
      With xFileDialog
      .Filters.Clear
      .Filters.Add "All WORD File ", "*.docx", 1
      .AllowMultiSelect = True
      i = 1
      If .Show = -1 Then
      For Each stiSelectedItem In .SelectedItems
      GetStr(i) = stiSelectedItem
      i = i + 1
      Next
      i = i - 1
      End If
      Application.ScreenUpdating = False
      xFindStr = InputBox("Find what:", "Kutools for Word", xFindStr)
      xReplaceStr = InputBox("Replace with:", "Kutools for Word", xReplaceStr)
      For j = 1 To i Step 1
      Set xDoc = Documents.Open(FileName:=GetStr(j), Visible:=True)
      Windows(GetStr(j)).Activate
      Selection.Find.ClearFormatting
      Selection.Find.Replacement.ClearFormatting
      With Selection.Find
      .Text = xFindStr 'Find What
      .Replacement.Text = xReplaceStr 'Replace With
      .Forward = True
      .Wrap = wdFindAsk
      .Format = False
      .MatchCase = False
      .MatchWholeWord = False
      .MatchByte = True
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
      End With
      Selection.Find.Execute Replace:=wdReplaceAll
      Application.Run macroname:="NEWMACROS"
      If MsgBox("Do you want to replace texts in headers and footers too? ", vbYesNo, "Kutools for Word") = vbYes Then
      ActiveWindow.View.SplitSpecial = wdPanePrimaryFooter
      Selection.Find.Execute Replace:=wdReplaceAll
      Application.Run macroname:="NEWMACROS"
      ActiveWindow.View.SplitSpecial = wdPanePrimaryHeader
      Selection.Find.Execute Replace:=wdReplaceAll
      Application.Run macroname:="NEWMACROS"
      End If
      ActiveDocument.Save
      ActiveWindow.Close
      Next
      Application.ScreenUpdating = True
      End With
      MsgBox "Operation end, please view", vbInformation
      End Sub
  • To post as a guest, your comment is unpublished.
    blds · 1 years ago
    Doesn't work for me on footers. e.g find FFSOSxxxx and replace with GGSOSxxxx, i can see this code is great for others pls help. :(