批量Word转PDF之捷径

1.背景:

由于资料流转原因,需要将一系列的word转换为PDF(防止修改),然后看了下现成的Office系列以及国产的WPS,都保留的转PDF的功能,但是批量却需要升级成为会员。一旦充值成为会员,PDF都能给你转word,本着不想花钱的思路,就在找有没有其他途径呢?

2.发现:

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

3.解决

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

lrft函数:符串中从左边算起指定数量的字符。

InStrRev函数:从右开始向左,在主字符串当中搜寻寻找子字符串,返回找到的子字符串在主字符串中出现的位置,返回的数值,都是表示子串在主串中,从左到右的位置。

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已完成!"

如过出现弹窗乱码的情况下可以通过改变编码的方式去解决,主要是通过notepad++将UTF-8编码转换为ANSI编码,参看文档

猜你喜欢

转载自blog.csdn.net/qq_40146082/article/details/112352751
今日推荐