Hỏi về VBA Word

Liên hệ QC

Huanh2e

Thành viên mới
Tham gia
24/12/09
Bài viết
2
Được thích
0
Em chào các anh chị. Cho em hỏi một vấn đề về VBA Word với ạ.
Ví dụ trong file Trong Word có nhiều từ "Ha Noi", em có thể sử dụng công cụ Find and Replace để:
(1). Tìm và chọn tất cả các từ "Ha Noi" trong tệp;
(2). Tìm và thay thế tất cả các từ "Ha Noi" bằng 1 từ khác
Song để chuyển các thao tác trên thành Code VBA thì em có thể làm với (2), còn khi thực hiện được với (1) thì không được. Em nhờ các anh chị giúp em Code của Case (1) với. Em cảm ơn ạ!
 

File đính kèm

  • Ha Noi.rar
    15.9 KB · Đọc: 3
Tôi tìm được 1 đoạn code để tô màu (chứ không chọn) những từ bạn muốn.
Rich (BB code):
Sub Highlight_Words()
    With Selection.Find
        .Text = "lúc"    'Thay từ cần tô màu vào đây
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False    'Nếu phân biệt chữ Hoa/thường thì sửa lại = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
 
Tôi tìm được 1 đoạn code để tô màu (chứ không chọn) những từ bạn muốn.
Rich (BB code):
Sub Highlight_Words()
    With Selection.Find
        .Text = "lúc"    'Thay từ cần tô màu vào đây
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False    'Nếu phân biệt chữ Hoa/thường thì sửa lại = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Nếu là

Replace:=wdReplaceAll

thì là thay thế các đoạn tìm thấy chứ nhỉ. Với .Replacement.Text = "" thì là xóa hết các đoạn tìm thấy.

Mà làm gì có dòng nào có chút gợi ý, có chút dính líu tới color đâu mà lại cho là tô mầu nhỉ. Ít ra phải có vd. hichic = blalaRedColor gì đó chứ.

Nếu là tô mầu các đoạn tìm thấy thì
Mã:
Sub Highlight_Words()
    Selection.End = 0
    Selection.Find.HitHighlight "Ha Noi", RGB(0, 255, 0)
End Sub
 
Nếu là

Replace:=wdReplaceAll

thì là thay thế các đoạn tìm thấy chứ nhỉ. Với .Replacement.Text = "" thì là xóa hết các đoạn tìm thấy.

Mà làm gì có dòng nào có chút gợi ý, có chút dính líu tới color đâu mà lại cho là tô mầu nhỉ. Ít ra phải có vd. hichic = blalaRedColor gì đó chứ.

Nếu là tô mầu các đoạn tìm thấy thì
Mã:
Sub Highlight_Words()
    Selection.End = 0
    Selection.Find.HitHighlight "Ha Noi", RGB(0, 255, 0)
End Sub
Tôi cũng không biết. Code tìm được trên mạng mà. Nhưng có 1 điều, nếu ta để công cụ tô màu nền ở màu gì thì code sẽ tô màu theo màu đó. Bác thử xem.
 
Nhưng có 1 điều, nếu ta để công cụ tô màu nền ở màu gì thì code sẽ tô màu theo màu đó. Bác thử xem.
Thì đó chỉ là ví dụ thôi mà. Làm gì có code hoàn chỉnh nào mà lại có đoạn tìm kiếm ("Ha Noi") được nhập cứng như vậy?
 
Nếu là tô mầu các đoạn tìm thấy thì
Mã:
Sub Highlight_Words()
    Selection.End = 0
    Selection.Find.HitHighlight "Ha Noi", RGB(0, 255, 0)
End Sub
Cảm ơn bác. Code này ngắn gọn ạ. Trước e cứ phải dùng Replacement.
Bài đã được tự động gộp:

Em cảm ơn các bác. Em mày mò tham khảo thì được code này ạ:
Mã:
Sub Chontu()
    Do Until Selection.Find.Execute("Ha Noi") = False
        With Selection.Find
            .Forward = True
            .Wrap = wdFindStop
            .MatchWholeWord = True
        End With
        Selection.Editors.Add (wdEditorEveryone)
        Loop
    ActiveDocument.SelectAllEditableRanges (wdEditorEveryone)
    ActiveDocument.DeleteAllEditableRanges (wdEditorEveryone)
End Sub
 
Web KT

Bài viết mới nhất

Back
Top Bottom