Frage

Ich möchte alle Vorschläge der Zeichenfolge "Nein" finden. + 1-2 ganze Zahlen zwischen 1 und 9. Dann löschen Sie die "Nr." und wickeln Sie die Ganzzahl/s zwischen der Paranthese: "(4)" oder "(67)". ZB "Nr. 34" sollte "(34)" werden.

Ich scheine mehrere Probleme zu haben (Word 2010):

  1. Der Code ersetzt nur eine Ganzzahl. Wie kann ich beide ein oder zwei Ganzzahlen finden?
  2. Wie mache ich die .replacement.text enthält die Zahlen, aber nicht das Wort "Nein". (Ich habe gerade so weit xxxxx eingegeben).
  3. Mein Code fügt Paranthese hinzu, aber zu Beginn und am Ende des aktiven Dokuments. Wie kann ich es stattdessen die Zahlen einwickeln?

    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 
    
War es hilfreich?

Lösung

Versuchen Sie es mit der folgenden Lösung:

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top