PDF快速转换Word,教你5分钟完成1000个PDF的转换!

日常的办公中,偶尔有Word文档转换pdf的需求。Word和WPS都有另存文档为PDF格式文件的功能。

一两个的话,手动另存为PDF还可接受,但是如果需要批量转换几百个文档,这个时候手动做就很费时间了。网上也有很多在线转换的插件,很多需要开会员。

这时候,不要忘了还有VBA。

多搜集代码,代码三五行,工作不用忙断肠。

▎代码

Word本身有这个功能,我们先来录制宏获取一下核心代码。

    Sub test() ActiveDocument.ExportAsFixedFormat OutputFileName:= _ "C:\Users\love ss\Desktop\打印pdf.pdf", ExportFormat:=wdExportFormatPDFEnd Sub

    如果要改成批量转换,我们就要加上必要的循环,并且要对路径做修改,改成活的。

    下面是全部的代码及效果,转换之后,我这里默认把转换后的pdf放在了桌面上。

      Sub 批量转换文档为PDF() '选择多个文件 Dim l As Long Dim doc As Document With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = True '多选择 .Filters.Clear '清除文件过滤器 .Filters.Add "Word Files", "*.doc;*.docx" '文件类型过滤器,这里只选择后缀是doc或者docx类型的文件 .Show 'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果您按 OK)和 0(如果您按 Cancel)。 For l = 1 To .SelectedItems.Count Set doc = Documents.Open(.SelectedItems(l)) doc.ExportAsFixedFormat OutputFileName:= _ Environ("userprofile") & "\Desktop\" & GetFileInfo(.SelectedItems(l), 2) & ".pdf", ExportFormat:=wdExportFormatPDF doc.Close False Next End WithEnd Sub

      Function GetFileInfo(Fullpath, InfoIndex) '从文件带路径的字符串中拆分,获得文件名 Set oFSO = CreateObject("Scripting.FileSystemObject") Select Case InfoIndex Case 1 Set oFile = oFSO.GetFile(Fullpath) GetFileInfo = oFile.Name '文件名带后缀 Case 2 GetFileInfo = oFSO.getbasename(Fullpath) '纯文件名 Case 3 GetFileInfo = "." & oFSO.GetExtensionName(Fullpath) '文件扩展名 End SelectEnd Function

      ▎代码解析

      如果你有一个文件的全路径,想从这个路径中获取文件名、文件扩展名、或者文件名+后缀。那么可以用下面这个自定义函数。

        Function GetFileInfo(Fullpath, InfoIndex) '从文件带路径的字符串中拆分,获得文件名 Set oFSO = CreateObject("Scripting.FileSystemObject") Select Case InfoIndex Case 1 Set oFile = oFSO.GetFile(Fullpath) GetFileInfo = oFile.Name '文件名带后缀 Case 2 GetFileInfo = oFSO.getbasename(Fullpath) '纯文件名 Case 3 GetFileInfo = "." & oFSO.GetExtensionName(Fullpath) '文件扩展名 End SelectEnd Function

        (0)

        相关推荐