Nếu bạn có vài chục tệp Word 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 muốn thay thế tất cả chúng cùng một lúc trên toàn bộ số tệp Word đó. Hẳn bạn sẽ tự hỏi có cách nào nhanh chóng hơn để thực hiện cùng một lúc. Chắc chắn bạn có thể mở từng tệp và thay thế cùng một nội dung nhưng như vậy sẽ rất mất thời gian và rắc rối. Trong bài này Gitiho.com sẽ hướng dẫn các bạn cách để thay thế cùng một nội dung trong nhiều file Word cùng một lúc. Cùng theo dõi nhé.
Tìm và thay thế văn bản trên nhiều file Word cùng một lúc bằng mã VBA
Bước 1: Nhấn Alt và F11 để mở cửa sổ Microsoft Visual Basic for Applications. Hoặc nếu phím tắt của máy bạn không hoạt động để xuất hiện cửa sổ thì bạn có thể chọn tay: Chọn tab Developer. Chọn tiếp visual basic. Như hình dưới.
Cửa sổ sẽ lập tức xuất hiện
Bước 2: Trong cửa sổ này, chọn Insert, chọn Module.
Sau đó copy đoạn mã VBA dưới đây vào cửa sổ:
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
Bước 3: Nhấn F5 để chạy Code. Hoặc bạn cũng có thể nhấn vào hình tam giác màu xanh trên thanh công cụ của cửa sổ để chạy code.
Ngoài ra, nếu bạn muốn học Word từ cơ bản đến nâng cao, hay học cách tự động hóa công việc bằng Macro trong quá trình cài đặt cho trang văn bản (căn lề, hướng trang, ngắt trang, chức năng in), tham khảo ngay khóa học sau tại Gitiho:
Bước 4: Trong cửa sổ mở file, bạn hãy tìm các file word bạn cần thay thế văn bản, sau đó nhấn nút OK.
Bạn nhập từ cần thay thế vào hộp thoại mới xuất hiện
Nhập tiếp từ thay thế từ trên vào hộp thoại Replace with.
Cuối cùng là ấn OK.
Và như vậy Microsoft Word sẽ tự động tìm và thay thế cho ta. Đến đây sẽ có một hộp thoại thông báo thành công xuất hiện như hình
Trên đây là hướng dẫn tìm kiếm và thay thế trên nhiều tệp Word cùng một lúc. Nếu bạn gặp bất kỳ khó khăn nào trong quá trình thực hiện, đừng ngần ngại để lại comment bên dưới để được các chuyên gia của Gitiho hỗ trợ nhé.
KHÓA HỌC WORD MIỄN PHÍ
Với hơn 7600 HỌC VIÊN đang theo học với đánh giá trung bình 4.78 SAO