2017-01-16 3 views
0

Ich habe ein Word-Dokument, bestehend aus vielen Kapiteln. Das Dokument ist nicht formatiert, alles ist Text, aber jedes Kapitel beginnt in einer eigenen Zeile mit "Kapitel #" (keine Anführungszeichen). Ich habe ein Makro aufgenommen und optimiert, das das nächste Kapitel # findet, blockt, kopiert, schneidet das vorherige Kapitel ab, öffnet ein neues Dokument, fügt ein, speichert und schließt. Ich muss auf das Makro für jedes Kapitel klicken. Wie mache ich es so, dass ich nur einmal klicke und das Makro für die nächsten Kapitel wiederholt und aufhört, wenn keine übrig sind? Hier ist, was ich habe:Schleife basierend auf wiederholten Text in Dokument

Sub Breakout2() 
' 
' Breakout2 Macro 
' 
' 
    Selection.Find.ClearFormatting 
    With Selection.Find 
     .Text = "^pChapter " 
     .Replacement.Text = "" 
     .Forward = True 
     .Wrap = wdFindContinue 
     .Format = False 
     .MatchCase = True 
     .MatchWholeWord = False 
     .MatchWildcards = False 
     .MatchSoundsLike = False 
     .MatchAllWordForms = False 
    End With 
    Selection.Find.Execute 
    Selection.Find.Execute 
    Selection.HomeKey Unit:=wdStory, Extend:=wdExtend 
    Selection.Cut 
    Documents.Add DocumentType:=wdNewBlankDocument 
    Selection.PasteAndFormat (wdUseDestinationStylesRecovery) 
    ChangeFileOpenDirectory "U:\Breakout\" 
    ActiveDocument.SaveAs2 
    ActiveDocument.Close 
End Sub 
+0

Format Code korrekt bitte –

+0

Fertig. (Erster Anrufer, lange Zeit Zuhörer). –

Antwort

0

Gelöst von meinem Code zu ändern:

Sub Breakout2() 
' 
' Breakout2 Macro 
' 
' 
Dim i 
For i = 1 To 1000 

{then same code as in OP} 

Next i 
End Sub 
Verwandte Themen