سؤال

أريد أن أجد كل حالات السلسلة "لا". + 1-2 الأعداد الصحيحة بين 1 و 9. ثم لحذف "لا". ولف عدد صحيح/s بين جنون العظمة: "(4)" أو "(67)". على سبيل المثال "رقم 34" يجب أن يصبح "(34)".

يبدو أن لدي مشاكل متعددة (Word 2010):

  1. الكود يحل محل عدد صحيح واحد فقط. كيف أجعلها تجد كلا من الأعداد الصحيحة؟
  2. كيف أجعل .replacement.text يحتوي على الأرقام ولكن ليس كلمة "لا". (لقد وضعت للتو في xxxxx هذا بعيد).
  3. لا يضيف الكود الخاص بي بجنون العظمة ، ولكن في بداية ونهاية المستند النشط. كيف أجعلها تلتف الأرقام بدلاً من ذلك؟

    With Selection.Find  
        .Text = "n[or]. [1-9]"  
        .Replacement.Text = "XXXXX"  
        .Forward = True  
        .Wrap = wdFindContinue  
        .Format = False  
        .MatchCase = False  
        .MatchWholeWord = False  
        .MatchWildcards = True  
        .MatchSoundsLike = False
        .MatchAllWordForms = False  
    End With  
    Selection.InsertBefore ("(")  
    Selection.InsertAfter (")")  
    Selection.Find.Execute Replace:=wdReplaceAll 
    
هل كانت مفيدة؟

المحلول

حاول مع الحل التالي:

With Selection.Find
    .Text = "(No.)( )([1-9]{1;2})"
    .Replacement.Text = "(\3)"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = True
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top