Question

Je veux trouver toutes les événements de la chaîne "non". + 1-2 entiers entre 1 et 9. Ensuite, supprimer le "non". et envelopper les entiers / s entre la paranthèse: "(4)" ou "(67)". Par exemple "n ° 34" devrait devenir "(34)".

Il semble avoir plusieurs problèmes (Word 2010):

  1. Le code ne remplace qu'un entier. Comment puis-je le faire trouver à la fois un ou deux entiers?
  2. Comment faire le .replacement.Text contiennent les nombres mais pas le mot «non». (Je viens de mettre xxxxx jusqu'ici).
  3. Mon code ajoute de la paranthèse, mais au début et à la fin du document actif. Comment le faire envelopper les chiffres à la place?

    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 
    
Était-ce utile?

La solution

Essayez avec la solution suivante:

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top