word如何按页拆分成多个文档(Word按页拆分成多个独立文档)
前言|职场实例
今天遇到了这样的一个Word文档问题:
如何将一个Word文档按页拆分成多个独立文档?
假设我们的这个Word文档内含有1000页,然后将这1000页文档按页批量拆分成1000个单独的Word文档。如果在页数数量少的情况下,我们完全可以通过手动一个一个新建Word文档,然后将总文档中的每页内容复制粘贴到新建的一个一个的Word文档中。但是如果页数数据量大的话,再这样无技巧的傻傻的工作,那效率就太低了。
下面小编就通过模拟一个简单的例子来说明这个问题。
如下图所示:
我们将含有2页的名称为“Excel情报局”的总Word文档放在一个新建的文件夹内。
这个名称为“Excel情报局”的Word文档中的2页内容如下图所示:第一页为一首词“将进酒”,第二页同样为一首词“水调歌头”。
最终实现的效果是:
将名称为“Excel情报局”的Word文档中的2页内容按页批量拆分成2个单独的文档,两首词分别放在两个单独的文档中,如下图所示:
解决方案|解题步骤
在文件夹内打开那个需要按页拆分的文档(本例中它的文件名叫做“Excel情报局”)
键入ALT F11打开VBA编辑器(或者点击“开发工具”选项卡,点击"visual basic,进入VBA编辑器)。
点击“插入-模块”,将下面一段VBA代码复制粘贴到该新建的模块中。
代码如下:
Option Explicit
Sub SplitPagesAsDocuments()
Dim oSrcDoc As Document, oNewDoc As Document
Dim strSrcName As String, strNewName As String
Dim oRange As Range
Dim nIndex As Integer
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set oSrcDoc = ActiveDocument
Set oRange = oSrcDoc.Content
oRange.Collapse wdCollapseStart
oRange.Select
For nIndex = 1 To ActiveDocument.Content.Information(wdNumberOfPagesInDocument)
oSrcDoc.Bookmarks("\page").Range.Copy
oSrcDoc.Windows(1).Activate
Application.Browser.Target = wdBrowsePage
Application.Browser.Next
strSrcName = oSrcDoc.FullName
strNewName = fso.BuildPath(fso.GetParentFolderName(strSrcName), _
fso.GetBaseName(strSrcName) & "_" & nIndex & "." & fso.GetExtensionName(strSrcName))
Set oNewDoc = Documents.Add
Selection.Paste
oNewDoc.SaveAs strNewName
oNewDoc.Close False
Next
Set oNewDoc = Nothing
Set oRange = Nothing
Set oSrcDoc = Nothing
Set fso = Nothing
MsgBox "结束!"
End Sub
点击上方的“运行-运行子过程/窗体”,稍等几秒会弹出一个拆分成功结束的提示框,点击“确定”后关闭VBA窗口,打开文件夹,发现已经拆分完成了,出现2个独立的Word文档。
分别点击打开拆分好的Word文档,我们发现每首词已经分别整齐的放置到了里面。
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com