Excel VBA代码将文件夹中的rtf文件批量转换为pdf文件

用户名

我是VBA编码的新手,但想知道如何在excel中创建一个宏,该宏使我可以选择其中有rtf文件的文件夹,并将它们全部转换为同一文件夹中的pdf。

任何帮助表示赞赏。

亲切的问候

用户名

最简单的方法是使用Word打开.rtf并将其转换为PDF。Excel旨在显示电子表格而非文档,但是您可以通过引用Word对象库从Excel中自动执行此操作。

使用内置的FileDialog提示您选择文件夹,并作为宏的入口。

'Add a Reference Microsoft Word Object Library

Sub ConvertRtfToPDF()

    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        If .Show() Then
            ConvertFiles GetFiles(.SelectedItems(1), ".rtf")
        End If
    End With

End Sub

这是执行转换的函数,它接收文件数组并将它们全部转换为PDF:

Sub ConvertFiles(files() As String)

    Dim wd As New Word.Application
    Dim doc As Word.Document
    Dim file As Variant

    For Each file In files
        Set doc = wd.Documents.Open(file, ReadOnly:=True)
        doc.ExportAsFixedFormat Replace(file, ".rtf", ".pdf"), 17
        doc.Close
    Next file

    wd.Quit

End Sub

该函数返回给定文件夹名称的文件名数组:

Function GetFiles(folder As String, extension As String) As String()

    Dim files() As String
    ReDim files(0)

    file = Dir(folder & "\")
    While (file <> "")
        If Right(file, Len(extension)) = extension Then
            files(UBound(files)) = folder & "\" & file
            ReDim Preserve files(UBound(files) + 1)
        End If
        file = Dir
    Wend
    ReDim Preserve files(UBound(files) - 1)
    GetFiles = files

End Function

将所有内容粘贴到模块中并运行ConvertRtfToPDF函数,系统将提示您选择一个文件夹,它将把.rtf该文件夹中的每个文件夹转换为一个文件夹.pdf

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Excel VBA将特定文件夹中的所有Word文件转换为PDF

Excel VBA代码将父文件夹中的所有文件名捕获到excel表中

VBA Excel将文件保存在Excel宏创建的文件夹中

使用excel vba合并文件夹中的所有pdf文件

将Excel工作簿中的图纸转换为pdf文件时的横向取向问题VBA

删除文件夹VBA中的非Excel文件

删除文件,然后在Excel 2010 VBA中的文件夹

使用VBA获取文件夹中的Excel文件列表

Excel VBA 在文件夹中找不到 xlsx 文件

Excel VBA从文件夹中的文件更新主列表

Excel VBA忽略目录中的特定文件夹/文件

从文件夹和子文件夹中获取文件列表 Excel VBA

使用excel VBA将文件自动分类到文件夹中

VBA-将文件夹列表导入Excel范围

Excel VBA将.csv转换为Excel文件

如何将Base64批量转换为Excel文件中的图像

Excel VBA 搜索子文件夹

将文件夹中的 Excel 文件复制到一个 Excel 文件中

在文件夹中搜索文件夹 (Excel-VBA)

在Excel VBA中创建文件夹和子文件夹

如何将文件夹中的rtf文件转换为PDF

在VBA Excel中动态创建文件夹

将文件夹中的不同文件批量转换为PDF

Excel VBA:删除文件夹中的任何空Excel文件

如何将PDF转换为JSON / EXCEL / WORD文件?

Excel VBA - 从静态文件夹名称复制文件并粘贴到 ActiveCell 中的文件夹名称中

如何使用VBA将MS Excel文件页面大小从信函页面大小批量转换为合法页面大小

从excel文件vba循环文件夹名称

VBA excel 计算文件夹(和文件)的总数