zoukankan      html  css  js  c++  java
  • 使用VBA将批量的WORD文档转换为PDF

    Sub BatchConvertToPDF()
        Dim destFolderPath As String
        destFolderPath = GetFolderPath
        If destFolderPath <> Empty Then
            Dim path As Variant
            For Each path In GetFilePaths()
                Dim indexOfSlash, indexOfDot As Integer
                indexOfSlash = InStrRev(path, "")
                indexOfDot = InStrRev(path, ".")
                
                Dim destFilePath As String
                destFilePath = destFolderPath + Mid(path, indexOfSlash, indexOfDot - indexOfSlash) + ".pdf"
                
                ConvertToPDF path, destFilePath
            Next path
        End If
    End Sub
    
    Function GetFilePaths()
        Dim folderPath As String
        With Application.FileDialog(msoFileDialogFilePicker)
            .Filters.Add "word文件", "*.doc; *.dotx; *.docm"
            .Title = "请择要转换的word文件"
            If .Show = -1 Then
                Set GetFilePaths = .SelectedItems
            End If
        End With
    End Function
    
    Function GetFolderPath()
        Dim folderPath As String
        With Application.FileDialog(msoFileDialogFolderPicker)
            .AllowMultiSelect = False
            .Title = "请选择要存放的目录"
            If .Show = -1 Then
                GetFolderPath = .SelectedItems(1)
            End If
        End With
    End Function
    
    Sub ConvertToPDF(srcPath As Variant, destPath As String)
        Documents.Open FileName:=srcPath, ConfirmConversions:=False, _
            ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
            PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
            WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:=""
        ActiveDocument.ExportAsFixedFormat OutputFileName:= _
            destPath, ExportFormat:= _
            wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
            wdExportOptimizeForOnScreen, Range:=wdExportAllDocument, From:=1, To:=1, _
            Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
            CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
            BitmapMissingFonts:=True, UseISO19005_1:=False
        ActiveDocument.Close
    End Sub
    

      

  • 相关阅读:
    mysql保存中文乱码的原因和解决办法
    NetSetMan IP地址切换工具
    使用批处理文件,自动设置计算机IP地址
    神逸之作:国产快速启动软件神品ALTRun
    Apache详细介绍
    利用sqoop对mysql执行DML操作
    Mysql定时清空表
    azkaban group分组,权限
    azkaban使用
    sqoop无法导出parquet文件到mysql
  • 原文地址:https://www.cnblogs.com/beta2013/p/3666077.html
Copyright © 2011-2022 走看看