本帖最后由 jacksonrhb2019 于 2019-11-25 10:45 编辑
Word中VBA编程学习总结: Word编辑过程,存在大量重复操作,借助VBA程序,简化操作,实现一键word文档格式化。但Word VBA中,Word对象、方法、属性过多,给编程带来不小的难题。另外word本身格式术语极其之多,很多文档格式非常混乱,相对excel VBA来说难度比较大。 为此,在word编辑过程中,总结出哪些重复操作,针对性的编辑一些通用程序,例如:全选表格,全选图片,文件夹内所有文件内容替换,不同节中设置页眉页脚,为所有图表添加题注等;但还有一部分操作,因需求不确定,程序化难度较大,例如:如何一键设置列表级别,非内嵌图片的处理等。 第一部分文件夹中文件处理 1. 当前word文件位置,所有word文件转化为pdf 1.1 关键的一些语句 DIR 指令,遍历文件夹内所有word文档,配合Do while…Loop,即可操作所有文件。 ExportAsFixedFormat指令,转化为某一格式,设置exportformat:=wdExportFormatPDF即为pdf格式。 1.2 程序举例: Sub DocToPdf() ' Dim myPath, myName, myName1 As String Dim SaveAsPDF As String Dim arr() As String Dim wdDoc As Document Application.ScreenUpdating = False myPath = ActiveDocument.Path & "\" myName = Dir(myPath & "*.doc*") '遍历文件夹内所有word文档 myName1 = ActiveDocument.Name Do While myName <> "" Set wdDoc = Application.Documents.Open(myPath & myName, ReadOnly =True) '取得每个word文档对象,以下命令可根据实际情况调整,此处为另存pdf arr = Split(myName, ".") SaveAsPDF = myPath & arr(0) & ".pdf" wdDoc.ExportAsFixedFormat outputfilename:=SaveAsPDF,exportformat:=wdExportFormatPDF If myName <> myName1 Then wdDoc.Close myName = Dir Set wdDoc = Nothing Loop Application.ScreenUpdating = True End Sub
|