Temukan Word / VBA..Ganti dengan wildcard dan lepas </>

0

Saya ingin memformat (misalnya menyorot) kata-kata khusus dalam dokumen Word melalui VBA. Secara umum ini bekerja dengan baik, tetapi dalam kasus ini saya perlu menemukan sesuatu seperti <*> (kata-kata yang terlampir dalam tanda kurung "<" dan ">", di mana * dimaksudkan sebagai wildcard, tetapi tanda kurung tidak. Saya mencoba untuk "Lepaskan" tanda kurung melalui backslash, tetapi ini tidak berhasil. Saya mendapatkan galat Run-time 5623: Teks pengganti berisi nomor grup yang di luar jangkauan.

wrdDocResults.Select
With Selection.Find
    .Text = "\<*\>"
    .Replacement.Font.Color = wdColorBlue 
    .Forward = True           
    .Wrap = wdFindStop          
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = True
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll   

Terima kasih atas bantuan Anda!

Martin
sumber

Jawaban:

1

coba ini

Sub test()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
    .Text = "\<*\>"
    .Replacement.Font.Color = wdColorBlue
    .Forward = True
    .Wrap = wdFindStop
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = True
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Raystafarian
sumber