询问者
请问,word2013中怎么按页数拆分一个文件?

问题
全部回复
-
你好,
通常,在Word中拆分文档可以按照章节来拆分,主要是借助在大纲视图下格式化章节标题,使用主控文档的创建功能生成子文档。下面借助网络上的动图教程展示一下相关的操作:
1)打开要拆分的朗诵稿文档,点击【视图】-【大纲】按钮,进入大纲视图。
2)分别选中需要进行拆分部分标题,然后设置一下【级别】,这里将其设置为“1级”。
3)此时,可以发现在标题前多出了一个“+”,点击“+”号,就可以选中当前这一部分(选中部分也就是我们要拆分独立生成一个文档的部分),然后点击【主控文档】-【显示文档】-【创建】按钮创建新文档。
4)全部设置完毕以后,我们直接保存,就可以看到文档已经被我们拆分成了多个独立的文档了。
针对你的需求,你需要按页码拆分文档,Word中并没有相应的内置功能来实现。你需要借助VBA(宏)来实现:
1)在Word里面打开那个需要分割的文档(假设它的文件名叫做“test.doc”);
2)键入ALT+F11打开VBA编辑器,选择菜单“插入-模块”,或者键入ALT+F8打开宏命令窗口,或者点文档内上面的“工具”→“宏”→“宏”→找到这个宏→“运行”即可;
3)粘贴下面的代码:Option Explicit Sub SplitEveryFivePagesAsDocuments() Dim oSrcDoc As Document, oNewDoc As Document Dim strSrcName As String, strNewName As String Dim oRange As Range Dim nIndex As Integer, nSubIndex As Integer, nTotalPages As Integer, nBound As Integer Dim fso As Object Const nSteps = 100 Set fso = CreateObject("Scripting.FileSystemObject") Set oSrcDoc = ActiveDocument Set oRange = oSrcDoc.Content nTotalPages = ActiveDocument.Content.Information(wdNumberOfPagesInDocument) oRange.Collapse wdCollapseStart oRange.Select For nIndex = 1 To nTotalPages Step nSteps Set oNewDoc = Documents.Add If nIndex + nSteps > nTotalPages Then nBound = nTotalPages Else nBound = nIndex + nSteps - 1 End If For nSubIndex = nIndex To nBound oSrcDoc.Activate oSrcDoc.Bookmarks("\page").Range.Copy oSrcDoc.Windows(1).Activate Application.Browser.Target = wdBrowsePage Application.Browser.Next oNewDoc.Activate oNewDoc.Windows(1).Selection.Paste Next nSubIndex strSrcName = oSrcDoc.FullName strNewName = fso.BuildPath(fso.GetParentFolderName(strSrcName), _ fso.GetBaseName(strSrcName) & "_" & (nIndex \ nSteps + 1) & "." & fso.GetExtensionName(strSrcName)) oNewDoc.SaveAs strNewName oNewDoc.Close False Next nIndex Set oNewDoc = Nothing Set oRange = Nothing Set oSrcDoc = Nothing Set fso = Nothing MsgBox "Done!" End Sub
4)键入F5运行,看到“完成!”结束。
经过测试该代码可以执行:
如果拆分后每个页面文档页码不是100,可能是分节符识别的问题。你可以试着修改这一行“Const nSteps = 100”,修改100的值为其他试试看。
如果你有任何进展,请在下方回复以告知我们.
此致,
敬礼
Herb
如果以上回复对您有所帮助,建议您将其标记为答复。如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.
- 已建议为答案 Emily HuaMicrosoft contingent staff, Moderator 2019年11月19日 9:04
-
你好,
请问你的问题得到了解决吗?我很期待能收到你的回复。如果你有任何进展或者问题,请在帖子下面回复,我很乐意为你提供进一步的帮助。
如果我之前的回复对你有帮助,请将其标记为“答复”,这将帮助其他有相似问题的论坛用户,在看到这个帖子的时候能得到帮助。感谢你的理解和支持。
此致,
敬礼
Herb
如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.
点击了解更多,或者访问我们的专用论坛,与我们的技术专家一起分享,探索 Microsoft Office 2019.