批量Word转PDF

发布于 2020-10-22  468 次阅读


原文地址

1. 背景:

由于资料流转原因,需要将一系列的 word 转换为 PDF(防止修改)

2. 发现:

 作为微软的拳头产品的 Office 系列已经和操作系统有着深深的联系,只要安装 07 以上版本的 Office,即可采用 VBScript 来进行操作

3. 解决

 需将脚本保存为ANSI编码,后缀为.vbs、在需要批量转换的 word 文件夹内,运行脚本。记得提权,运行完成后 PDF 文件也保存在文件夹内,只需 “按类型排列” 即可分离。

On Error Resume Next
Const wdExportFormatPDF = 17
Set oWord = WScript.CreateObject("Word.Application")
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
Set fds=fso.GetFolder(".")
Set ffs=fds.Files
For Each ff In ffs
    If (LCase(Right(ff.Name,4))=".doc" Or LCase(Right(ff.Name,4))="docx" ) And Left(ff.Name,1)<>"~" Then
        Set oDoc=oWord.Documents.Open(ff.Path)
        odoc.ExportAsFixedFormat Left(ff.Path,InStrRev(ff.Path,"."))&"pdf",wdExportFormatPDF
        If Err.Number Then
        MsgBox Err.Description
        End If
    End If
Next
odoc.Close
oword.Quit
Set oDoc=Nothing
Set oWord =Nothing
MsgBox "Word全自动转换为PDF已完成!"

或许明日太阳西下倦鸟已归时