Nhờ giúp Tìm kiếm từ hoặc cụm từ (Ngoại trừ từ hoặc cụm từ đó viết hoa ở đầu mỗi chữ) trong Word

hung2412

Thành viên tích cực
Tham gia ngày
5 Tháng tám 2008
Bài viết
872
Được thích
218
Điểm
735
Xin chào các bạn GPE!
Tôi có File Word, vấn đề là làm thế nào để tìm kiếm từ hoặc cụm từ (Ngoại trừ từ hoặc cụm từ đó viết hoa ở đầu mỗi chữ).
Ví dụ: - Tìm từ "di đà" thì sẽ tìm từ tương ứng như là "di đà" hoặc "Di đà" hoặc "di Đà" (Ngoại trừ từ viết hoa đầu mỗi từ là "Di Đà")
- Tìm từ "phàm phu" thì sẽ tìm từ tương ứng như là "phàm Phu" hoặc "Phàm phu" hoặc "phàm phu" (Ngoại trừ từ viết hoa đầu mỗi từ là "Phàm Phu")
- Tìm từ "thường tịch quang" thì sẽ tìm từ tương ứng như là "thường tịch quang" hoặc "Thường tịch quang" hoặc "thường Tịch Quang" (Ngoại trừ từ viết hoa đầu mỗi từ là "Thường Tịch Quang")
1.png
 

File đính kèm

phuongvq123

Thành viên thường trực
Tham gia ngày
15 Tháng tư 2020
Bài viết
286
Được thích
177
Điểm
45
Tuổi
25
Xin chào các bạn GPE!
Tôi có File Word, vấn đề là làm thế nào để tìm kiếm từ hoặc cụm từ (Ngoại trừ từ hoặc cụm từ đó viết hoa ở đầu mỗi chữ).
Ví dụ: - Tìm từ "di đà" thì sẽ tìm từ tương ứng như là "di đà" hoặc "Di đà" hoặc "di Đà" (Ngoại trừ từ viết hoa đầu mỗi từ là "Di Đà")
- Tìm từ "phàm phu" thì sẽ tìm từ tương ứng như là "phàm Phu" hoặc "Phàm phu" hoặc "phàm phu" (Ngoại trừ từ viết hoa đầu mỗi từ là "Phàm Phu")
- Tìm từ "thường tịch quang" thì sẽ tìm từ tương ứng như là "thường tịch quang" hoặc "Thường tịch quang" hoặc "thường Tịch Quang" (Ngoại trừ từ viết hoa đầu mỗi từ là "Thường Tịch Quang")
View attachment 245981
Caí này khó thế ạ :))
Chi bằng tìm luôn di đà, di Đà, Di đà liệu có ra cả kết quả Di Đà không
Bài đã được tự động gộp:

Xin chào các bạn GPE!
Tôi có File Word, vấn đề là làm thế nào để tìm kiếm từ hoặc cụm từ (Ngoại trừ từ hoặc cụm từ đó viết hoa ở đầu mỗi chữ).
Ví dụ: - Tìm từ "di đà" thì sẽ tìm từ tương ứng như là "di đà" hoặc "Di đà" hoặc "di Đà" (Ngoại trừ từ viết hoa đầu mỗi từ là "Di Đà")
- Tìm từ "phàm phu" thì sẽ tìm từ tương ứng như là "phàm Phu" hoặc "Phàm phu" hoặc "phàm phu" (Ngoại trừ từ viết hoa đầu mỗi từ là "Phàm Phu")
- Tìm từ "thường tịch quang" thì sẽ tìm từ tương ứng như là "thường tịch quang" hoặc "Thường tịch quang" hoặc "thường Tịch Quang" (Ngoại trừ từ viết hoa đầu mỗi từ là "Thường Tịch Quang")
View attachment 245981
Bạn xem thêm cách tìm đặc biệt trong find more trong thẻ find. tích match case tìm được Di Đà riêng hoặc di đà
 
Lần chỉnh sửa cuối:

VetMini

Chuyên gia GPE
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
10,368
Được thích
12,655
Điểm
1,560
Caí này khó thế ạ :))
Chi bằng tìm luôn di đà, di Đà, Di đà liệu có ra cả kết quả Di Đà không
Người ta tìm lỗi chính tả mờ.
Làm thủ công thì không khó lắm. Chỉ là đã lên đây hỏi thì người ta đòi hỏi phải tự động "bấm một phát".
 

gttrongvn

Thành viên hoạt động
Tham gia ngày
20 Tháng sáu 2011
Bài viết
194
Được thích
114
Điểm
380
Mình không biết mục đích bạn tìm để làm gì? Nếu để thay thế thì mình thử thay thế từ "di đà" thành "Di Đà" thì tất cả "di đà" hoặc "Di đà" hoặc "di Đà" đều thay đổi thành "Di Đà".
 

hung2412

Thành viên tích cực
Tham gia ngày
5 Tháng tám 2008
Bài viết
872
Được thích
218
Điểm
735
Mình không biết mục đích bạn tìm để làm gì? Nếu để thay thế thì mình thử thay thế từ "di đà" thành "Di Đà" thì tất cả "di đà" hoặc "Di đà" hoặc "di Đà" đều thay đổi thành "Di Đà".
Mình muốn Tìm kiếm từ "di đà", "Di đà", "di Đà" để đổi nó thành "Di Đà" (Mình không muốn chọn "Di Đà" này vì bản thân nó đã là "Di Đà" rồi nên không phải tìm đến nó nữa).
Mình biết là sẽ có lệnh Replace All từ "di đà", "Di đà", "di Đà" => "Di Đà". Nhưng mình có rất nhiều từ cần thay thế (Khoảng 5.000 từ cần thay thế) mà có tới 600 File Word lận => Code chạy rất là lâu, nên tránh từ "Di Đà" vì nó đã có sẵn rồi (Có khoảng 5.000 từ như vậy),
 

Ba mười ba

Thành viên chính thức
Tham gia ngày
10 Tháng tám 2020
Bài viết
98
Được thích
46
Điểm
20
Thì kết quả là "Ba 10 ba", "ba 10 Ba", "ba 10 ba" (Nhưng tuyệt đối không phải"Ba 10 Ba" => Từ này viết hoa cả câu)
Bạn thử thêm cụm từ "ba 10 ba" vào và tét tìm thử với ví dụ tìm cụm từ "ba 10 ba" xem đúng ý không?
Mã:
Option Explicit

Sub Chua_Test_Trong_Phong_Sieu_Thi_Nghiem()
    Dim Phong_Thi_Nghiem As Object
    Set Phong_Thi_Nghiem = ActiveDocument.Content
    Dim RengRengReng, sRumZum, tet_Tet_test, khongChoi, sTimKiem, DauTien
    tet_Tet_test = "|ba 10 ba|"
    sRumZum = "Phong thi nghiem"
    RengRengReng = sRumZum & " dang tét tét , ví du " & tet_Tet_test
    khongChoi = " khong chap nhan chu cai dau tien viet hoa"
    sTimKiem = InputBox(RengRengReng, sRumZum, tet_Tet_test)
    If sTimKiem = "" Then Exit Sub
    DauTien = Left(sTimKiem, 1)
    If DauTien <> UCase(DauTien) Then
        Phong_Thi_Nghiem.Find.Execute FindText:=sTimKiem, Forward:=True
        If Phong_Thi_Nghiem.Find.Found = True Then Phong_Thi_Nghiem.Select
    Else
        MsgBox sRumZum & khongChoi, vbCritical + vbOKOnly, sRumZum
    End If
End Sub
 
Lần chỉnh sửa cuối:

gttrongvn

Thành viên hoạt động
Tham gia ngày
20 Tháng sáu 2011
Bài viết
194
Được thích
114
Điểm
380
Mình muốn Tìm kiếm từ "di đà", "Di đà", "di Đà" để đổi nó thành "Di Đà" (Mình không muốn chọn "Di Đà" này vì bản thân nó đã là "Di Đà" rồi nên không phải tìm đến nó nữa).
Mình biết là sẽ có lệnh Replace All từ "di đà", "Di đà", "di Đà" => "Di Đà". Nhưng mình có rất nhiều từ cần thay thế (Khoảng 5.000 từ cần thay thế) mà có tới 600 File Word lận => Code chạy rất là lâu, nên tránh từ "Di Đà" vì nó đã có sẵn rồi (Có khoảng 5.000 từ như vậy),
Vậy thì sẽ có 2 vòng lặp, 1 vòng lặp mở 600 file word, 1 vòng lặp replace 5000 từ đó vào file word. Vậy thì bạn cần tạo 2 bảng, 1 bảng chứa tên file word, 1 bảng chứa 5000 từ đó với 1 cột là từ viết thường, 1 cột là từ viết hoa. Sau đó bật lên đi ngủ, chắc sáng cũng xong, nếu mình mô tả giống như bạn muốn thì bạn gửi file mẫu lên đi, cuối tuần mình sẽ viết thử coi chạy được không.
 

tigertiger

Coming back ...
Tham gia ngày
25 Tháng một 2007
Bài viết
1,698
Được thích
1,598
Điểm
860
Đầu tiên chủ topic nên lập 1 từ điển các từ , cụm từ đúng đã, thì sau đó mới suy nghĩ tiếp kết quả
 

hung2412

Thành viên tích cực
Tham gia ngày
5 Tháng tám 2008
Bài viết
872
Được thích
218
Điểm
735
Vậy thì sẽ có 2 vòng lặp, 1 vòng lặp mở 600 file word, 1 vòng lặp replace 5000 từ đó vào file word. Vậy thì bạn cần tạo 2 bảng, 1 bảng chứa tên file word, 1 bảng chứa 5000 từ đó với 1 cột là từ viết thường, 1 cột là từ viết hoa. Sau đó bật lên đi ngủ, chắc sáng cũng xong, nếu mình mô tả giống như bạn muốn thì bạn gửi file mẫu lên đi, cuối tuần mình sẽ viết thử coi chạy được không.
Sơ lược như ảnh dưới đây:
Anh.png
Bài đã được tự động gộp:

Đầu tiên chủ topic nên lập 1 từ điển các từ , cụm từ đúng đã, thì sau đó mới suy nghĩ tiếp kết quả
Mình cũng đã làm như bạn nói. Quan trọng là tốc độ chạy Code.
 

File đính kèm

hung2412

Thành viên tích cực
Tham gia ngày
5 Tháng tám 2008
Bài viết
872
Được thích
218
Điểm
735
Mình đã Test và kết luận có 2 vấn đề:
- Vấn đề 1: Nếu để nguyên 2 cái | | thì nó không tìm được "ba 10 ba".
- Vấn đề 2: Nếu mình bỏ 2 cái | | đi thì nó chọn được "ba 10 ba", nhưng nó vẫn chọn "Ba 10 Ba" (Viết hoa cả cụm từ) (Cái này mới là quan trọng nhất)
Bài đã được tự động gộp:

Tôi thì nghĩ độ chính xác và phù hợp quy mô thì hơn
Đúng như bạn nói. Nhưng không phải chạy Code 1 lần là xong. Ngoài khoảng 5.000 từ đó thì lâu lâu lại phát hiện thêm từ mới cần chỉnh sửa. Cho nên tôi mới cần tốc độ, càng nhanh càng tốt.
 

ongke0711

Thành viên tiêu biểu
Tham gia ngày
7 Tháng chín 2006
Bài viết
766
Được thích
881
Điểm
860
Nơi ở
HCM
Xin chào các bạn GPE!
Tôi có File Word, vấn đề là làm thế nào để tìm kiếm từ hoặc cụm từ (Ngoại trừ từ hoặc cụm từ đó viết hoa ở đầu mỗi chữ).
Ví dụ: - Tìm từ "di đà" thì sẽ tìm từ tương ứng như là "di đà" hoặc "Di đà" hoặc "di Đà" (Ngoại trừ từ viết hoa đầu mỗi từ là "Di Đà")
- Tìm từ "phàm phu" thì sẽ tìm từ tương ứng như là "phàm Phu" hoặc "Phàm phu" hoặc "phàm phu" (Ngoại trừ từ viết hoa đầu mỗi từ là "Phàm Phu")
- Tìm từ "thường tịch quang" thì sẽ tìm từ tương ứng như là "thường tịch quang" hoặc "Thường tịch quang" hoặc "thường Tịch Quang" (Ngoại trừ từ viết hoa đầu mỗi từ là "Thường Tịch Quang")
Bạn download cái Add-in này dùng thử xem. Tạo cái danh sách từ cần thay thế rồi bấm "Execute".

Link: https://gregmaxey.com/word_tip_pages/vba_find_and_replace.html
 

befaint

|||||||||||||
Tham gia ngày
6 Tháng một 2011
Bài viết
10,307
Được thích
12,099
Điểm
1,560
Bạn download cái Add-in này dùng thử xem. Tạo cái danh sách từ cần thay thế rồi bấm "Execute".

Link: https://gregmaxey.com/word_tip_pages/vba_find_and_replace.html
Anh chưa rõ chủ thớt rồi. Chủ thớt cần code chuẩn 100% (thử nghiệm vài tháng rồi mới kết luận) theo đúng yêu cầu đề ra, không có thay đổi phương án.

Mục đích là thay thế chuỗi

1600917509521.png
nhưng mục đích chỉ là thứ yếu, cái quan trọng là phương án đã nghĩ ra là mọi người chỉ có nhiệm vụ làm theo, miễn bàn cách khác.

1600917572294.png

Vậy bài 14 mới chạy rơi dép.

Giờ muốn nhanh chắc chỉ đọc file *.xml mà xử.
 

Ba mười ba

Thành viên chính thức
Tham gia ngày
10 Tháng tám 2020
Bài viết
98
Được thích
46
Điểm
20
Mình đã Test và kết luận có 2 vấn đề:
- Vấn đề 1: Nếu để nguyên 2 cái | | thì nó không tìm được "ba 10 ba".
- Vấn đề 2: Nếu mình bỏ 2 cái | | đi thì nó chọn được "ba 10 ba", nhưng nó vẫn chọn "Ba 10 Ba" (Viết hoa cả cụm từ) (Cái này mới là quan trọng nhất)
Sửa cốt:
Mã:
Option Explicit
Sub Chua_Test_Trong_Phong_Sieu_Thi_Nghiem()
    Dim Phong_Thi_Nghiem As Object
    Set Phong_Thi_Nghiem = ActiveDocument.Content
    Dim RengRengReng, sRumZum, tet_Tet_test, khongChoi, sTimKiem, DauTien
    tet_Tet_test = "ba 10 ba"
    sRumZum = "Phong thi nghiem"
    RengRengReng = sRumZum & " dang tét tét , ví du " & tet_Tet_test
    khongChoi = " khong chap nhan chu cai dau tien viet hoa"
    sTimKiem = InputBox(RengRengReng, sRumZum, tet_Tet_test)
    If sTimKiem = "" Then Exit Sub
    DauTien = Left(sTimKiem, 1)
    If DauTien <> UCase(DauTien) Then
        Phong_Thi_Nghiem.Find.Execute FindText:=sTimKiem, MatchCase:=True, Forward:=True
        If Phong_Thi_Nghiem.Find.Found = True Then Phong_Thi_Nghiem.Select
    Else
        MsgBox sRumZum & khongChoi, vbCritical + vbOKOnly, sRumZum
    End If
End Sub
 

VetMini

Chuyên gia GPE
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
10,368
Được thích
12,655
Điểm
1,560
Anh chưa rõ chủ thớt rồi. Chủ thớt cần code chuẩn 100% (thử nghiệm vài tháng rồi mới kết luận) theo đúng yêu cầu đề ra, không có thay đổi phương án.
...
Chắc không sao đâu. Hình như nít này có lời hứa rằng mọi "sai sót" sẽ được phản ứng bằng lời niệm Phật.
Tuy nhiên, cũng cần cẩn thận mấy cái "nít phụ" chúng nhào vào chửi (hình như cũng chính nít này hứa vậy).
 

ptm0412

Bad Excel Member
Thành viên BQT
Super Moderator
Tham gia ngày
4 Tháng mười một 2007
Bài viết
10,022
Được thích
29,935
Điểm
1,910
Tuổi
58
Nơi ở
Gò Vấp
Tìm luôn "Ba 10 Ba" và thay thế bằng chính nó thì có sao? Chính vì vậy mà tôi chả muốn nghĩ về cách giải nào nữa
 
Top Bottom