工作中,有时候碰到需要将一个比较大的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), _
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

4、键入F5运行,看到“完成!”结束。

5、检查当前文档所在路径下是否生成若干名为“原始文档_n.doc”(n代表其对应原始文档中的第几页)的文档,检查它们的内容是否就对应于原始文档每个页面的内容。

二、按指定页动态拆分

上述方法是按单页拆分的,如果想按照指定页数拆分,可使用下面的代码,其它步骤和上述按单页拆分方案相同。

代码如下:

Option Explicit

Sub DynamicSplitPagesAsDocuments()

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 = 3   //这里可以指定需要拆分的页数,如这里表示按照每3页拆分成一个小文档

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) & "." & fso.GetExtensionName(strSrcName))
oNewDoc.SaveAs strNewName
oNewDoc.Close False
Next nIndex
Set oNewDoc = Nothing
Set oRange = Nothing
Set oSrcDoc = Nothing
Set fso = Nothing
MsgBox "结束!"

End Sub

注意:

如文档中有分节符分解后的文档会出现空白页,如要分解后不出现空白页,需要把文档中的分节符全部删除。

分节符若全部替换,要注意替换后文档可能会出现排版混乱,这则需要自己手动排版了。

分节符是指为表示节的结尾插入的标记。分节符包含节的格式设置元素,如页边距、页面的方向、页眉和页脚,以及页码的顺序。分节符用一条横贯屏幕的虚双线表示。

删除分节符的方法:

试着按住shift键,然后点击鼠标左键,然后将显示出来的分节符删掉即可。

分节符和分页符的区别:

分页符只是分页,前后还是同一节;
分节符是分节,可以同一页中不同节,也可以分节的同时下一页。
两者用法的最大区别在于页眉页脚与页面设置,比如:
1、文档编排中,某几页需要横排,或者需要不同的纸张、页边距等,那么将这几页单独设为一节,与前后内容不同节;
2、文档编排中,首页、目录等的页眉页脚、页码与正文部分需要不同,那么将首页、目录等作为单独的节;
3、如果前后内容的页面编排方式与页眉页脚都一样,只是需要新的一页开始新的一章,那么一般用分页符即可,当然用分节符(下一页)也行。

转载于:https://www.cnblogs.com/cookiewu/p/9845472.html

将一个word文档按一页或多页拆分成多个文档相关推荐

  1. Word文档如何进行拆分成多个文档?

    学会使用Word文档的拆分是非常重要的,文档的拆分可有助于方便日常工作中的查看及使用,有时候大家在日常工作中使用办公工具Word文档整理各种资料会将资料统一整理在一个文档内,这时候就会用到Word文档 ...

  2. excel拆分成多个文档怎么做?

    今天跟大家分享一下excel拆分成多个文档怎么做? 1.打开演示文件,要求将多个工作表拆分为独立的工作簿 2.首先我们点击下图选项 3.然后选择[汇总拆分]-[拆分工作簿] 4.勾选工作表 5.点击[ ...

  3. excel拆分成多个文档

    今天跟大家分享一下excel拆分成多个文档 1.打开演示文件,要求将文件按照部门拆分为多个独立的文档. 2.首先鼠标单击如下图选项 3.然后点击[汇总拆分]-[拆分工作表] 4.将[表头行数]设置为2 ...

  4. python分解word文档为多个_将一个word文档按一页或多页拆分成多个文档

    工作中,有时候碰到需要将一个比较大的word按照指定的页数分割成若干个小的word文档,下面提供分割的方法供参考: 一.按照单页拆分 1.在Word里面打开那个需要分割的文档(假设它的文件名叫做&qu ...

  5. 如何批量将多个 Word 文档按指定页分别拆分成多个文档

    概要:「我的ABC软件工具箱」提供了文档拆分的功能,其中就包括了 Word 拆分成多个文件,可以根据需要指定拆分后的每个文档最多的页数,这样可以把一个文档分成多个独立的文档.非常的方便与实用. Wor ...

  6. 如何批量将多个 PPT 文档按指定页分别拆分成多个文档

    概要:「我的ABC软件工具箱」提供了文档拆分的功能,其中就包括了 PPT 拆分成多个文件,可以根据需要指定拆分后的每个文件最多的页数,这样可以把一个文档分割成多个独立的文档.非常的方便与实用. 前面我 ...

  7. 怎么查看计算机一共多少文档,不打开Word文档如何查看文章有几页 -电脑资料

    关于这个命题,似乎有点悬了! 当我们面对一大堆文档的时候,如果想查看一下每一篇文档到底有多少页的时候? 平时您是不是这样做的呢?一篇文档一篇文档的打开,之后通过使用插入页码的方法在文档中插入页码,之后 ...

  8. Word开发工具Aspose.Words功能演示:在C ++中以编程方式在Word文档中添加或删除页眉和页脚

    Word文档中的页眉和页脚用于格式化和显示重要信息,例如主题,章节,页码,Copywrite等.以编程方式使用Word文档时,可能需要添加或删除页眉和页脚.为此,本文将教您如何使用C ++在Word文 ...

  9. word文档怎么删除多余的空白页?

    在使用Word的过程中,总会遇到各种各样的问题,比如Word文档要怎么删除多余的空白页?如果不删除的话感觉非常别扭还影响Word文档的美观,那具体要怎么删除呢?下面我们就来瞧瞧. 空白页产生的原因一: ...

最新文章

  1. winform C#的委托事件在winform窗体中传值,也可用于刷新另一窗体(窗体A刷新窗体B)...
  2. boost::trait::is_reference 的研究与修改
  3. Latent dirichlet allocation note -- Prepare
  4. python3.7扩展库是什么_Python3.4以后的版本中,____________库用于安装管理Python扩展包,________________库用于发布Python包。_学小易找答案...
  5. java8 streams_Java 8 Friday:使用Streams API时的10个细微错误
  6. /dev/fb0入门练习
  7. 所有可能出栈序列总数
  8. 冷迁移oracle数据库,数据库的冷备份迁移
  9. tasm报错illegal memory reference的解决办法
  10. 从物理页面的争抢看linux内核内存管理
  11. db2 replace函数的用法_C++常用函数整理
  12. paip..net VS2010提示当前上下文中不存在名称的解决
  13. sql server 函数--rand() 生成整数的随机数
  14. java 屏幕坐标_Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。...
  15. 多个无线 AP 怎么实现无缝漫游?
  16. ASP.NET Core 中文文档目录
  17. android%3cspan,GIS API (Javascript、IOS、Android版本)
  18. 盈余贝分享网赚项目的思维和观念
  19. 微信 米聊 导游 服务器 李白,【文化】千古“第一导游”,我只服李白!
  20. 卡通猫咪鼠标跟随动态js特效

热门文章

  1. 二十行代码去除图片水印(别再找工具修图啦)
  2. 企业上云是什么?有什么优点
  3. python爬取凤凰新闻网_爬取网易,搜狐,凤凰和澎湃网站评论数据,正负面情感分析...
  4. chrome添加主题_如何在Chrome中添加和删除主题
  5. 五年后的深圳是天堂还是地狱?
  6. 宋叔日记--新手级别入门全能赚钱软件!
  7. 移动端基础(2)—— flex弹性布局
  8. [go基础] go基础之字符串中查找汉字数量
  9. 少儿编程到底是不是收智商税?
  10. 基于Django的健身房管理系统