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
    

      

  • 相关阅读:
    Linux02--文件系统与磁盘管理
    Android02-Activity01
    Android01-概述
    LeetCode | Binary Tree Level Order Traversal II
    LeetCode | Binary Tree Level Order Traversal
    LeetCode | Binary Tree Postorder Traversal
    LeetCode | Binary Tree Inorder Traversal
    LeetCode | Binary Tree Preorder Traversal
    LeetCode | Symmetric Tree
    LeetCode | Balanced Binary Tree
  • 原文地址:https://www.cnblogs.com/beta2013/p/3666077.html
Copyright © 2011-2022 走看看