工作中,有时候碰到需要将一个比较大的word按照指定的页数分割成若干个小的word文档,下面提供分割的方法供参考: 一、按照单页拆分 1、在Word里面打开那个需要分割的文档(假设它的文件名叫做“test.doc”); 2、键入ALT+F11打开VBA编辑器,选择菜单“插入-模块”,或者键入ALT+F8打开宏命令窗口,或者点文档内上面的“工具”→“宏”→“宏”→找到这个宏→“运行”即可; 3、粘贴下面的代码: 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), _ Selection.Paste oNewDoc.SaveAs strNewName oNewDoc.Close False Next Set oNewDoc = Nothing Set oRange = Nothing Set oSrcDoc = Nothing Set fso = Nothing MsgBox "结束!" End Sub 4、键入F5运行,看到“完成!”结束。 5、检查当前文档所在路径下是否生成若干名为“原始文档_n.doc”(n代表其对应原始文档中的第几页)的文档,检查它们的内容是否就对应于原始文档每个页面的内容。
二、按指定页动态拆分 上述方法是按单页拆分的,如果想按照指定页数拆分,可使用下面的代码,其它步骤和上述按单页拆分方案相同。 代码如下: Option Explicit Sub DynamicSplitPagesAsDocuments()
Dim oSrcDoc As Document, oNewDoc As Document End Sub
注意: 如文档中有分节符分解后的文档会出现空白页,如要分解后不出现空白页,需要把文档中的分节符全部删除。 分节符若全部替换,要注意替换后文档可能会出现排版混乱,这则需要自己手动排版了。 分节符是指为表示节的结尾插入的标记。分节符包含节的格式设置元素,如页边距、页面的方向、页眉和页脚,以及页码的顺序。分节符用一条横贯屏幕的虚双线表示。
删除分节符的方法: 试着按住shift键,然后点击鼠标左键,然后将显示出来的分节符删掉即可。
分节符和分页符的区别:
分页符只是分页,前后还是同一节; |