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