应用VBA将长文档word按大纲级别拆分为新文件并另存为PDF_第1页
应用VBA将长文档word按大纲级别拆分为新文件并另存为PDF_第2页
应用VBA将长文档word按大纲级别拆分为新文件并另存为PDF_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、将长文档中的同一级别的内容分别拆分为一个新文件,并同时以新文件内容第一行为文件名保存在当前文件夹中。Sub 按大纲级别拆分文件()Dim rngrange As RangeDim doc As DocumentDim i As IntegerDim j As IntegerDim mys As StringDim levi As IntegerDim levj As IntegerDim contt As StringDim spendtimestr As StringApplication.ScreenUpdating = Falsemypath = ActiveDocument.Path

2、starttime = TimeFor i = 1 To ActiveDocument.Paragraphs.Count If ActiveDocument.Range.Paragraphs(i).OutlineLevel = wdOutlineLevel2 Then levi = ActiveDocument.Range.Paragraphs(i).OutlineLevel Set myRange = ActiveDocument.Paragraphs(i).Range myRange.SetRange myRange.Start, myRange.End - 1 iFilename = T

3、rim(myRange.Text) j = i J等于i,即找到目标的段落,关键点之一 Do 从即找到目标的段落i开始,依次往后找,一直到找到级别小于或等于目标段落的段落或找到文章的最后,关键点之二 j = j + 1 levj = ActiveDocument.Range.Paragraphs(j).OutlineLevel Loop Until (levj levi Or levj = levi Or j = ActiveDocument.Paragraphs.Count) 级别小于或等于目标段落的段落或找到文章的最后,关键点之三 如果是件末,则将最后一段内容同时拷贝 If j = Act

4、iveDocument.Paragraphs.Count Then Set rngrange = ActiveDocument.Range(ActiveDocument.Paragraphs(i).Range.Start, ActiveDocument.Paragraphs(j).Range.End) rngrange.Select Selection.Copy Else Set rngrange = ActiveDocument.Range(ActiveDocument.Paragraphs(i).Range.Start, ActiveDocument.Paragraphs(j - 1).R

5、ange.End) rngrange.Select Selection.Copy End If Documents.Add With ActiveDocument.Content .Paste End With Call 页面设置 ActiveDocument.SaveAs FileName:=mypath & & iFilename, FileFormat:=wdFormatPDF ActiveDocument.Close savechanges:=wdDoNotSaveChanges Else End If Next iendtime = Timespendtime = Round(end

6、time - starttime) * 24 * 60 * 60, 3)spendtimestr = 共费时: & spendtime & 秒MsgBox (spendtimestr)Application.ScreenUpdating = TrueEnd SubSub 页面设置()With ActiveDocument.PageSetup.LineNumbering.Active = False.Orientation = wdOrientPortrait.TopMargin = CentimetersToPoints(2).BottomMargin = CentimetersToPoint

7、s(1.4).LeftMargin = CentimetersToPoints(1.8).RightMargin = CentimetersToPoints(1.8).Gutter = CentimetersToPoints(0).HeaderDistance = CentimetersToPoints(1.5).FooterDistance = CentimetersToPoints(1.2).PageWidth = CentimetersToPoints(14.8).PageHeight = CentimetersToPoints(21).FirstPageTray = wdPrinterDefaultBin.OtherPagesTray = wdPrinterDefaultBin.SectionStart = wdSectionNewPage.OddAndEvenPagesHeaderFooter = False.DifferentFirstPageHeaderFooter = False.VerticalAlignment = wdAlignVerticalTop.SuppressEndnotes = False.MirrorMargins = False.TwoPagesOnOne = False.BookFoldPrinting = False.BookFo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论