Note: The other languages of the website are Google-translated. Back to English

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

Nếu bạn có vài chục tệp từ chứa cùng một nội dung (chẳng hạn như Đầu trang, chân trang, một số từ hoặc số đặc biệt) và bạn cần 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 hoàn thành công việc một cách dễ dàng 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ẽ rất tốn thời gian và rắc rối. Hướng dẫn này sẽ chỉ cho bạn một cách phức tạp để 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
Dễ dàng tìm và thay thế các văn bản khác nhau trên nhiều tài liệu cùng một lúc với Kutools cho Word


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ènMô-đ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 Xem , vui lòng tìm và chọn các tài liệu bạn sẽ tìm thấy và thay thế văn bản bên trong, sau đó bấm vào OK cái nút. Xem ảnh chụp màn hình:

5. Trong lần đầu tiên 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 và sau đó bấm vào OK .

6. Trong giây 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 .

8. Nhấp vào OK nút tiếp theo Microsoft Word hộp thoại để kết thú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 đã chọn được thay thế bằng "Excel" cùng một lúc.


Dễ dàng tìm và thay thế các văn bản khác nhau trên nhiều tài liệu cùng một lúc với Kutools cho Word

Ở đây rất khuyên bạn nên Tìm và thay thế hàng loạt tính năng của Kutools cho Word. Với tính năng này, bạn có thể dễ dàng tìm và thay thế các văn bản khác nhau trên nhiều tài liệu Word cùng một lúc. Hãy xem cách áp dụng tính năng này để tìm và thay thế văn bản trên các tài liệu.

Kutools cho Word : với hơn 100 phần bổ trợ Word tiện dụng, dùng thử miễn phí không giới hạn trong 60 ngày.

1. Vui lòng nhấp vào Kutools Plus > Tìm và thay thế hàng loạt để kích hoạt tính năng.

2. bên trong Tìm và thay thế hàng loạt hộp thoại, vui lòng cấu hình như sau.

  • 2.1) Nhấp vào Thêm hàng dưới nút Tìm và Thay thế chuyển hướng;
  • 2.2) Trong các trường hàng đã tạo:
A. Nhập văn bản bạn sẽ tìm thấy vào hộp văn bản trong Tìm kiếm cột
B. Nhập văn bản bạn sẽ thay thế bằng vào hộp văn bản trong Thay thế cột;
C. Chỉ định kiểu tìm kiếm, nơi tìm văn bản và màu để đánh dấu văn bản khi bạn cần. Trong trường hợp này, tôi chọn Đối sánh từ đầy đủ, Tài liệu chính và một màu nhất định từ Loại tìm kiếm, Tìm trongĐánh dấu cột;
  • 2.3) Lặp lại bước 2.1 và 2.2 để thêm các văn bản khác mà bạn sẽ tìm thấy và thay thế;
  • 2.4) Nhấp vào  nút trong File Type để thêm các tài liệu Word mà bạn sẽ tìm và thay thế các văn bản;
  • 2.5) Nhấp vào Thay thế or Tìm kiếm cái nút. Xem ảnh chụp màn hình:

Chú ý:
1. Nếu bạn nhấp vào Tìm kiếm , tất cả kết quả tìm kiếm sẽ được hiển thị trong Xem trước kết quả chuyển hướng. Sau khi xem trước kết quả, nếu bạn muốn thay thế tất cả các văn bản, vui lòng nhấp vào Tìm và Thay thế chuyển hướng. Nếu không, hãy đóng hộp thoại.

2. Nếu bạn nhấp vào Thay thế , tất cả văn bản được chỉ định sẽ được thay thế bằng văn bản mới ngay lập tức và kết quả cũng sẽ được hiển thị trong Xem trước kết quả tab.

3. Nếu bạn chỉ định màu đánh dấu trong bước 2, tất cả các văn bản được thay thế sẽ được đánh dấu bằng các màu được chỉ định và bạn có thể dễ dàng tìm thấy chúng trong nháy mắt trong tài liệu.

3. Đóng Tìm và thay thế hàng loạt hộp thoại

Để biết thêm thông tin về tính năng này, vui lòng bấm vào đây....

Nếu bạn muốn dùng thử miễn phí tiện ích này, vui lòng truy cập tải xuống miễn phí phần mềm đầu tiên, và sau đó đi đến áp dụng hoạt động theo các bước trên.


Công cụ năng suất Word được đề xuất

 

Kutools cho Word - Hơn 100 tính năng nâng cao cho Word, tiết kiệm 50% thời gian của bạn

  • Các hoạt động phức tạp và lặp đi lặp lại có thể được thực hiện xử lý một lần trong vài giây.
  • Chèn nhiều hình ảnh trên các thư mục vào tài liệu Word cùng một lúc.
  • Hợp nhất và kết hợp nhiều tệp Word trên các thư mục thành một với thứ tự mong muốn của bạn.
  • Chia tài liệu hiện tại thành các tài liệu riêng biệt theo tiêu đề, ngắt phần hoặc các tiêu chí khác.
  • Chuyển đổi tệp giữa Doc và Docx, Docx và PDF, bộ sưu tập các công cụ để chuyển đổi và lựa chọn phổ biến, v.v.
Nhận xét (69)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nó sẽ hỏi các tài liệu được đề cập nằm ở đâu? Hay tất cả các tài liệu cần phải được mở?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Khi bạn chạy nó, theo mặc định, nó sẽ mở cửa sổ đối thoại "Open File" thành "My Documents". Điều hướng đến thư mục chứa các tệp Word mà bạn muốn thực hiện các thay đổi. Bạn có thể nhấn "Ctrl" + "A" để chọn tất cả các tệp hoặc giữ phím "Ctrl" trong khi chọn các tệp nhất định. Nhấp vào "Mở" hoặc nhấn "Enter" và xem điều kỳ diệu xảy ra.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có, tôi có câu hỏi tương tự như tôi nghĩ điều này sẽ hữu ích nhưng muốn nói rằng nó chỉ xem trong một số thư mục nhất định.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Khi bạn chạy macro, cửa sổ "Mở" sẽ mở ra. Điều hướng đến thư mục chứa các tệp bạn cần thực hiện thay đổi, sau đó nhấp một lần vào tệp đầu tiên, sau đó, trong khi giữ phím "Ctrl", hãy nhấp vào các tệp khác cũng yêu cầu tìm / thay thế. Nếu tất cả các tệp trong thư mục cần hành động, chỉ cần nhấn phím "Ctrl" và "A". Sau đó nhấp vào "Mở" hoặc nhấn phím "Enter" và macro sẽ bắt đầu. Tôi nên cảnh báo bạn, vì tôi đã thực hiện điều này hàng chục lần tại nơi làm việc: Macro sẽ dẫn đến các thay đổi chỉ được thực hiện đối với * body * của tài liệu Word; đầu trang, chân trang và văn bản tiêu đề / văn bản thay thế sẽ bị loại trừ. Nếu bạn có văn bản trong các phần nói trên cần thay thế, bạn sẽ phải thực hiện tìm / thay thế tiêu chuẩn trên các tài liệu riêng lẻ.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Kỹ thuật VBA này có thể được điều chỉnh để hoạt động cho các tệp của Nhà xuất bản không? Ví dụ: bằng cách thay đổi * .docx thành * .pub?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Wow bạn là một vị thánh vì đã kết hợp macro này lại với nhau! Tôi đang nghe 'Epic Battle Music' trên Songza bởi vì tôi là một thợ rèn Macro tài ba và đó là cách duy nhất tôi có thể vượt qua nỗi đau và sự thống khổ của việc tạo ra các phép thuật lập trình. Dù sao, quan điểm của tôi tôi sẽ thực hiện là đã dành rất nhiều thời gian vào thứ Sáu để khắc phục sự cố phần mà bạn thực sự đưa vào văn bản bạn muốn tìm và đưa vào văn bản bạn muốn thay thế - tôi không hiểu rõ phần này trong các điều khoản về nơi tôi đặt văn bản từ "tìm" và văn bản từ "thay thế": [quote] Lưu ý: bạn có thể thay đổi Text = "search", Replacement.Text = "find" để chỉ định nội dung được tìm kiếm và nội dung để được áp dụng để thay thế. [/ quote] Hôm nay tôi đọc lại bài này và tôi muốn làm rõ thêm cho những người không bắt đầu lập trình khác - trong phần VBA nơi bạn đã sao chép và dán ngôn ngữ lập trình gốc, hãy đảm bảo bạn đặt dấu chấm hết 'sau và một 'sau với (xem ví dụ bên dưới) - trong ví dụ của tôi, tôi đang tìm nhiều tài liệu để thay thế Pizza bằng Stromboli: .Text = "Pizza" 'Find What' .Replacement.Text = "Stromboli" 'Replace With'
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Khi tôi chạy nó, nó bị treo và dừng lại ở: Application.Run macroname: = "NEWMACROS" và khi tôi bước vào nó, nó cho tôi biết tôi gặp lỗi Biên dịch: Không tìm thấy đối số được đặt tên. Giờ thì sao?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm việc như một cái duyên và nó đã tiết kiệm rất nhiều thời gian và công sức cho tôi. Thanks.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi vẫn không thể làm cho điều này hoạt động trên PC của tôi chạy Windows 7. Khi tôi chạy nó, tôi nhận được thông báo lỗi ở dòng: -Windows (GetStr (j)). Kích hoạt Thông báo lỗi. là: -Lỗi biên dịch: -Sub hoặc Chức năng không được xác định Bất kỳ ý tưởng tại sao? Và làm thế nào để khắc phục nó?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đây là những gì cuối cùng đã làm việc cho tôi. Tôi hy vọng nó sẽ giúp. Tôi đã thêm macro này vào một tệp word. Nó sẽ chạy thay thế bất kỳ tài liệu nào được chọn (bạn có thể chọn bao nhiêu tùy thích) khi tệp dialoge được mở. Nó sẽ không hoạt động trên các thư mục con vì vậy tôi đã thực hiện từng thư mục trong cấu trúc tệp riêng lẻ nhưng nó hoạt động. Đây có thể không phải là cách khắc phục tốt nhất nhưng ít nhất nó cũng hoạt động. Private Sub CommandButton1_Click () Dim MyDialog As FileDialog, GetStr (1 To 100) As String '100 files là mức tối đa áp dụng mã này Khi Lỗi Tiếp tục Đặt MyDialog = Application.FileDialog (msoFileDialogFilePicker) Với MyDialog .Filters.Clear' ~~> Thay đổi phần mở rộng của tệp này thành loại tài liệu có liên quan. .Filters.Add "All WORD File", "* .doc", 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 Đối với j = 1 Đến i Bước 1 Đặt doc = Documents.Open (FileName: = GetStr (j), Visible: = True) Windows (GetStr (j)). Kích hoạt Lựa chọn. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting 'Phần sau đó là một hoặc phần khác của các phần mã để theo dõi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Sau đó, bạn thêm một trong hai phần sau tùy thuộc vào việc đó là thử nghiệm hay siêu liên kết cần được thay thế '~~> Phần này nếu không được chú thích sẽ thay thế văn bản - CHỈ CÓ MỘT TRONG HAI PHẦN CÓ THỂ KHÔNG ĐƯỢC CHỈ ĐỊNH Ở MỘT LẦN VỚI Selection.Find .Text = " http://www.google.co.uk "'Tìm gì .Replacement.Text =" http://www.google.com "' Thay thế bằng .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 ứng dụng ActiveDoccreen.Cplose Next = True End With MsgBox "hoạt động kết thúc, vui lòng xem", vbInformation '~~> Phần này nếu được bỏ ghi chú sẽ thay thế các siêu liên kết' For i = 1 To doc.Hyperlinks.Count '' Nếu siêu liên kết phù hợp. 'If LCase (doc.Hyperlinks (i) .Address) = "http://www.google.co.uk/" Then' 'Thay đổi địa chỉ liên kết. 'doc.Hyperlinks (i) .Address = "https://www.google.com"' 'Thay đổi văn bản hiển thị liên kết nếu muốn. 'doc.Hyperlinks (i) .TextToDisplay = "http://www.google.com"' End If 'Next' Application.Run macroname: = "NEWMACROS" 'ActiveDocument.Save' ActiveDocument. Đóng 'Next' Application.ScreenUpdating = True 'End With' MsgBox "kết thúc hoạt động, vui lòng xem", vbInformation End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Pia, tôi đang cố chạy tập lệnh của bạn để thay thế siêu liên kết nhưng gặp lỗi. Bất kỳ cơ hội nào bạn có thể đăng tập lệnh để thay thế tất cả các siêu liên kết trong một phần? Chắc là tôi đang gặp rắc rối gì đó khi cố gắng vá mã của bạn lại với nhau.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nó chỉ chạy trên các tệp đã chọn và các tệp chỉ phải nằm trong một thư mục. Điều này được chạy dưới dạng macro trong tài liệu từ. Nó được chạy bằng cách nhấp vào một nút. Nó chỉ cập nhật từ doc's Hy vọng điều này sẽ giúp. Private Sub CommandButton1_Click () Dim MyDialog As FileDialog, GetStr (1 To 100) As String '100 files là mức tối đa áp dụng mã này Khi Lỗi Tiếp tục Đặt MyDialog = Application.FileDialog (msoFileDialogFilePicker) Với MyDialog .Filters.Clear' ~~> Thay đổi phần mở rộng của tệp này thành loại tài liệu có liên quan. .Filters.Add "All WORD File", "* .doc", 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 Đối với j = 1 Đến i Bước 1 Đặt doc = Documents.Open (FileName: = GetStr (j), Visible: = True) Windows (GetStr (j)). Kích hoạt Lựa chọn. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting For i = 1 To doc.Hyperlinks.Count 'Nếu siêu kết nối phù hợp. If LCase (doc.Hyperlinks (i) .Address) = "http://www.yahoo.co.uk/" Thì 'Thay đổi địa chỉ liên kết. doc.Hyperlinks (i) .Address = "https://www.google.co.uk" 'Thay đổi văn bản hiển thị liên kết nếu muốn. doc.Hyperlinks (i) .TextToDisplay = "http://www.google.co.uk" End If Next Application.Run macroname: = "NEWMACROS" ActiveDocument.Save ActiveDocument. Đóng ứng dụng tiếp theo.ScreenUpdating = True End With MsgBox " kết thúc hoạt động, vui lòng xem ", vbInformation End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này hoạt động hoàn hảo và tiết kiệm cho tôi rất nhiều thời gian. Cảm ơn bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Điều này hoạt động tốt cho từ trong phần nội dung của tài liệu nhưng không thay thế từ tương tự trong tiêu đề. Bất kỳ ý tưởng. Thanks
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi muốn thay đổi định dạng của văn bản thay thế. tức là "Pizza" phải được thay thế bằng "Burger". Làm thế nào nó có thể đạt được?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Big THX 4 mã ... nhưng cũng có prblm đó với tiêu đề ... không thay đổi Cảm ơn trước
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn vì đã đăng bài này! Tôi đã chạy một vài thử nghiệm và làm cho nó hoạt động cho tôi; tuy nhiên, nó không hoạt động trên văn bản trong đầu trang và chân trang vì một số lý do. có cách sửa nào cho nó không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi xin lỗi nhưng tôi không biết tiêu đề hay định dạng. Đó không phải là thứ tôi cần đưa vào mã của mình. Tôi chưa bao giờ sử dụng nó trước đây và mã tôi đã đăng được lấy từ mã gốc ở trên và sau đó tweet bằng cách sử dụng mã được tìm thấy trong các tìm kiếm khác cho đến khi nó hoạt động. Tôi xin lỗi, tôi không thể giúp được gì thêm.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã thử nghiệm nó trong vài phút qua và nó thực sự là một điều kỳ diệu, cảm ơn bạn! Tôi cần thực hiện một số quy trình 'tìm và thay thế' cho một số tệp. Hàng chục quy trình cho hàng chục tệp. Có cách nào để 'lưu' mô-đun để tôi không cần phải dán lại mô-đun đó trên màn hình VBA mỗi khi tôi cần thực hiện một quy trình mới không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có thể điều chỉnh macro này để thực hiện nhiều trạng thái 'tìm và thay thế' cùng một lúc không? Tôi cần thay thế một số từ và phareses và hiện tại tôi cần phải chèn lại mã VBA cho mọi trường hợp. Tôi là một noob về những điều đó
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã này đã tiết kiệm rất nhiều thời gian cho tôi ... vì vậy, cảm ơn! Tuy nhiên, có một điều - có cách nào để tăng số lượng từ mà macro tìm thấy / thay thế không? Tôi cần tìm / thay thế nhiều đoạn văn cùng một lúc và macro dường như có giới hạn khoảng 200 ký tự.
Không có bình luận nào được đăng ở đây
Tải thêm
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất