Soruları bulun (“?” Den önceki kelimeler) Regex Microsoft Word


0

Başka şeylerin yanı sıra uygun olmayan biçimde biçimlendirilmiş birkaç kitabım var. SORULARI ve cevaplar.

Benim işim bütün soruları yapmak. SERMAYELEŞTİRİLMİŞ VE KALIN. Zaten doğru şekilde biçimlendirilmiş parçaları korumak için MS Word kullanıyorum, bu yüzden Notepad ++ 'a (örneğin) taşınmak ve geri dönmek bir seçenek değil.

Çalışmayı hayal edebildiğim tek çözüm "?" Den önceki tüm kelimeleri bulmak için joker karakterler kullanmak. ve hiçbiri sonra, bunları daha önce MS Word'ün değiştirme aracında bulunan biçimlendirme seçenekleriyle değiştirmek.

Peki nasıl bilen var mı?

Regex / joker karakterlerini kullanarak soruları ("?" Dan önceki sözcükleri) nasıl bulabilirim?

Yanıtlar:


2

İşte istediğinizi yapacak bir makro. Bu makro, sorularınızın kendi paragraflarında olduğunu varsayar. Paragrafa serpiştirilmiş olabilirlerse, seçim karakterini karakterin tamamını, büyük bir harfe çarpıncaya kadar, sadece paragrafın tamamına genişletmek yerine genişletmeye devam etmek için bir süre döngüsü kullanabilirsiniz.

Sub FormatQuestions() 'Finds everything that starts with a capital letter and ends with a question mark. Bolds it and puts it in all caps. 'Variable definitions Dim intTotalChars As Integer Dim intLoop As Integer Dim strTestChar As String Dim rngQuestionRange As Range Dim intCountQuestionMarks As Integer intTotalChars = ActiveDocument.Characters.Count For intLoop = 1 To intTotalChars strTestChar = ActiveDocument.Characters.Item(intLoop).Text If strTestChar = "?" Then intCountQuestionMarks = intCountQuestionMarks + 1 ActiveDocument.Characters.Item(intLoop).Select Selection.Expand wdParagraph Selection.Font.Bold = True Selection.Font.AllCaps = True End If Next intLoop End Sub

Bu cevabın önceki bir versiyonunda, Word’ün paragraf işaretleri ve joker karakterleri aynı anda aramanıza izin vermediğini yanlış olarak belirttim. Aslında öyle, ancak ^ p yerine bir paragraf için ^ 13 kullanmanız gerekir. (Microsoft’un bu sayfası, joker karakter aramasıyla kullanılabilecek özel karakterleri listeler: http://support.microsoft.com/kb/176776 )

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.