ile tüm "{XE text text}" örneklerini bulun, Word belgesinde dönecek bir makro üzerinde çalışıyorum ve ayrıştırmak için tüm XE kodlarını seçiyorum.RegEx
Tüm bu tür metinleri almak için Find
kullanmaya çalışıyorum, ancak normal aramalarım hiç çalışmıyor.
Denedim: </{ XE*/}>
, <{*XE*}>
boşuna.
{ XE "Superhero - means a person with some powers" }
{ XE "Mountain is a tall hill, not always climbable." }
{ XE "Hill is a smaller mountain; not always large." }
Ben bunların her biri içinde döngü istiyorum, ve bulunan her ;
sonra iki karakter ekleyin:
Düzenleme: Ben Belgesi ile ilgili olarak bakan ettiğim bir şey
Sub escape_Special_Characters_in_XE_Text()
Dim regExSearch$
Dim doc As Word.Document
Dim rngDoc As Word.Range, rngXE As Word.Range, rng As Word.Range
Dim bFound As Boolean
Dim iFieldCodeBegin&
Set doc = ActiveDocument
Set rngDoc = doc.Content
Set rngXE = rngDoc.Duplicate
bFound = True
iFieldCodeBegin = 6 '?
rngDoc.Find.ClearFormatting
With rngDoc.Find
.Text = "^d XE"
'.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
rngDoc.Find.Execute
rngDoc.Select ' This selects the whole document for some reason?
End Sub
var mı: Nedense, .Find
asla hatta aşağıda koduyla, yürütür? Neden hiçbir şey bulamıyor? Bir makroyu kaydedersem, bir değişken yerine Selection
kullanır, ancak bunu tekrar tekrar çalıştırabilirim. Değişkenleri kullanmaya çalıştığımda, benimle aynı fikirde olmadığında.
Özel alan kodu parantez "{}" düzenli karakterleri {} ve ms-word/kelime-vba yapmak kullanarak bulunabilir olmaz Kendileri, modern anlamda sözcük olarak RegEx'i uygulamamaktadır. Bakınız örn. http://stackoverflow.com/questions/14547866/vba-syntax-to-find-an-if-conditional-statement-field-code/36209603#36209603 –