Note: The other languages of the website are Google-translated. Back to English

如何将Word文档批量转换为txt文件?

本文讨论的是如何将特定文件夹中的所有Word文档批量转换为Word中的单独TXT文件。

使用VBA将Word文档批量转换为txt文件


使用VBA将Word文档批量转换为txt文件

下面的VBA代码可以帮助将特定文件夹中的所有Word文档立即转换为txt文件。 请执行以下操作。

1.在Word文档中,按 其他 + F11 键打开 Microsoft Visual Basic应用程序 窗口。

2。 在里面 Microsoft Visual Basic应用程序 窗口中,单击 插页 > 模块,然后将以下代码复制到“模块”窗口中。

VBA代码:将Word文档批量转换为txt文件

Sub ConvertDocumentsToTxt()
'Updated by Extendoffice 20181123
    Dim xIndex As Long
    Dim xFolder As Variant
    Dim xFileStr As String
    Dim xFilePath As String
    Dim xDlg As FileDialog
    Dim xActPath As String
    Dim xDoc As Document
    Application.ScreenUpdating = False
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1)
    xFileStr = Dir(xFolder & "\*.doc")
    xActPath = ActiveDocument.Path
    While xFileStr <> ""
        xFilePath = xFolder & "\" & xFileStr
        If xFilePath <> xActPath Then
            Set xDoc = Documents.Open(xFilePath, AddToRecentFiles:=False, Visible:=False)
            xIndex = InStrRev(xFilePath, ".")
            Debug.Print Left(xFilePath, xIndex - 1) & ".txt"
            xDoc.SaveAs Left(xFilePath, xIndex - 1) & ".txt", FileFormat:=wdFormatText, AddToRecentFiles:=False
            xDoc.Close True
        End If
        xFileStr = Dir()
    Wend
    Application.ScreenUpdating = True
End Sub

3。 按 F5 键来运行代码。

4。 在里面 浏览 窗口中,选择包含要转换为txt文件的Word文档的文件夹,然后单击 OK 按钮。 看截图:

然后,您可以看到所选文件夹中的所有文档都立即转换为txt文件。 看截图:


推荐的Word生产力工具

 

Kutools For Word-超过100种Word高级功能,节省50%的时间

  • 复杂和重复的操作可以在几秒钟内完成一次处理。
  • 跨文件夹一次将多个图像插入Word文档。
  • 将文件夹中的多个Word文件合并并合并为所需顺序。
  • 根据标题,分节符或其他条件将当前文档拆分为单独的文档。
  • 在Doc和Docx之间,Docx和PDF之间转换文件,用于常见转换和选择的工具集合等...
按评论排序
注释 (22)
5中的5评分 · 1评级
该评论由网站上的主持人最小化
我是诗歌爱好者。 我需要将 700 多个单词的作品转换为 txt。 多亏了你的子程序,我很快就做到了。
谢谢
该评论由网站上的主持人最小化
当我在 Mac 上使用最新的 Word 时,是否可以提供相同的代码? 我收到运行时错误 5948 并调试指向此部分: Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)••••ˇˇˇˇ
该评论由网站上的主持人最小化
谢谢! 这非常有帮助
该评论由网站上的主持人最小化
你是如何让它工作的?
该评论由网站上的主持人最小化
不为我工作,任何想法为什么?
我是否需要在我要转换的同一文件夹中的 Word 文档或我开始的任何新 Word 文档中执行此操作? - 尝试了这两个选项,但都没有工作,但我也没有收到任何错误消息
该评论由网站上的主持人最小化
我正在使用 Windows 10 和 Microsoft Office 2016
该评论由网站上的主持人最小化
将 xFileStr = Dir(xFolder & "\*.doc") 更改为 xFileStr = Dir(xFolder & "\*.docx") 因为我假设您有更新的 word 文件格式。
该评论由网站上的主持人最小化
嗨,代码有效,但最后给了我“运行时错误 91”,我的一些文件有对象。 知道如何解决这个问题吗?
该评论由网站上的主持人最小化
十分感谢! 像魅力一样工作!
该评论由网站上的主持人最小化
在一个充满 .docx 文件的文件夹上快速而完美地工作。 我谢谢你/
该评论由网站上的主持人最小化
该脚本对我很有用,但仅适用于一个文件夹。 有没有办法包含所有子文件夹?
该评论由网站上的主持人最小化
谢谢你——当我想,“嘿,也许有人已经这样做了?”时,我正打算自己编写一些代码。 你有,而且比我做的更优雅。 谢谢你的辛勤工作。
该评论由网站上的主持人最小化
我使用上面的脚本批量转换韩文文档,但脚本不起作用。 当我厌倦了更改编码时,有人可以帮我解决这个错误吗?
该评论由网站上的主持人最小化
我需要它们转换为分隔的文本文件,这仍然可能吗?
该评论由网站上的主持人最小化
那是一种享受! 谢谢!
5中的5评分
该评论由网站上的主持人最小化
你好,谢谢你的这篇文章。 当我点击“运行”时,我收到一条错误消息:“编译错误:外部过程无效。” 这是我使用 doc 还是 docx 扩展名(可能不相关,但我都试过了。)请你帮忙吗? 我不知道如何使用代码....并且确实需要转换大量文档。 谢谢!
该评论由网站上的主持人最小化
嗨杜尔加,
该代码在我的情况下运行良好。
请确保模块(代码)窗口仅包含帖子中提供的 VBA 代码。
该评论由网站上的主持人最小化
嗨,这非常有效。 有没有办法选择不同的 TXT 编码格式(例如 UTF-8 而不是 Windows)?
该评论由网站上的主持人最小化
嗨西蒙,
以下 VBA 代码有助于将指定文件夹中的所有 Word 文档转换为 UTF-8 .txt 文件
Sub ConvertDocumentsToTxt()
'Updated by Extendoffice 20201031
    Dim xIndex As Long
    Dim xFolder As Variant
    Dim xFileStr As String
    Dim xFilePath As String
    Dim xDlg As FileDialog
    Dim xActPath As String
    Dim xDoc As Document
    Application.ScreenUpdating = False
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1)
    xFileStr = Dir(xFolder & "\*.doc")
    xActPath = ActiveDocument.Path
    While xFileStr <> ""
        xFilePath = xFolder & "\" & xFileStr
        If xFilePath <> xActPath Then
            Set xDoc = Documents.Open(xFilePath, AddToRecentFiles:=False, Visible:=False)
            xIndex = InStrRev(xFilePath, ".")
            xDoc.SaveAs Left(xFilePath, xIndex - 1) & ".txt", FileFormat:=wdFormatText, AddToRecentFiles:=False, Encoding:=msoEncodingUTF8
            xDoc.Close True
        End If
        xFileStr = Dir()
    Wend
    Application.ScreenUpdating = True
End Sub
该评论由网站上的主持人最小化
非常感谢
该评论由网站上的主持人最小化
谢谢美人! La conversion se fait très bien
该评论由网站上的主持人最小化
Vielen Dank, das ist wirklich sehr hilfreich! Ich werde auf Deine Seite bei der nächsten Gelegenheit verweisen。
欢迎
乌利
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护