在一个word文档中插入了多个手动分页符,现在希望将该文档按照手动分页符拆分成若干个子文档,可以使用如下的代码:
Sub QQ1722187970()
Const wdReplaceAll = 2
Dim oRng As Range
Dim oRng1 As Range
Dim oRngT As Range
Dim oDoc As Document
Set oDoc = Word.ActiveDocument
Dim oDoc1 As Document
sPath = oDoc.Path
Set oRng = Word.Selection.Range
'先判断是否有选中区域,没有选中则表示整个文档
If oRng.Start = oRng.End Then
Set oRng = Word.ActiveDocument.Content
End If
'获取要执行操作的区域的起点和终点,用于查找替换时判断是否超出了选定区域
iStart = oRng.Start
iEnd = oRng.End
' Debug.Print oRng.Text
Set oRng1 = oRng
With oRng1.Find
i = 1
j = 0
.ClearFormatting
.MatchWildcards = False
.Text = "^m"
'每执行一次查找,只要找到了结果,oRng对象会自动变成被找到的内容所在的区域
Do Until .Execute() = False Or oRng1.Start > iEnd Or oRng1.End < iStart
Set oDoc1 = Word.Documents.Add
k = oRng1.Start
Set oRngT = oDoc.Range(j, k)
oRngT.Copy
oDoc1.Content.Paste
j = k + 1
oDoc1.SaveAs2 sPath & "\" & i & ".doc"
oDoc1.Close
i = i + 1
Loop
End With
Set oDoc1 = Word.Documents.Add
k = oDoc.Content.End
Set oRngT = oDoc.Range(j, k)
oRngT.Copy
oDoc1.Content.Paste
oDoc1.SaveAs2 sPath & "\" & i & ".doc"
oDoc1.Close
End Sub


5cusz6