Word用VBA代码每页拆分为一个文档
来源:网络收集 点击: 时间:2024-04-03打开Word表格

按alt+f11,打开VBA编辑器

然后插入模块

粘贴以下代码
Option Explicit Sub SplitEveryFivePagesAsDocuments() On Error Resume Next 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 = 1 Set fso = CreateObject(Scripting.FileSystemObject) Set oSrcDoc = ActiveDocument Set oRange = oSrcDoc.Content nTotalPages = Val(ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)) 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 结束! End Sub

单击执行按钮

确定结束

即可看到同文件目录下,生成3个文档

打开其中一个即为拆分的文档

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_414319.html