Vba 基于文档中重复文本的循环

Vba 基于文档中重复文本的循环,vba,ms-word,Vba,Ms Word,我有一个由许多章节组成的Word文档。文档没有样式,所有内容都是文本,但每个章节都以“Chapter#”(无引号)开头。我录制并调整了一个宏,该宏可以查找下一章、块、复制、剪切上一章、打开新文档、粘贴、保存和关闭。我必须单击每个章节的宏。如何使宏只单击一次,并在接下来的章节中重复,当没有剩余时停止?以下是我所拥有的: Sub Breakout2() ' ' Breakout2 Macro ' ' Selection.Find.ClearFormatting

我有一个由许多章节组成的Word文档。文档没有样式,所有内容都是文本,但每个章节都以“Chapter#”(无引号)开头。我录制并调整了一个宏,该宏可以查找下一章、块、复制、剪切上一章、打开新文档、粘贴、保存和关闭。我必须单击每个章节的宏。如何使宏只单击一次,并在接下来的章节中重复,当没有剩余时停止?以下是我所拥有的:

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  

通过更改我的代码解决:

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

{then same code as in OP}

Next i
End Sub

请正确格式化您的代码。(第一次呼叫,长时间侦听)。