如何将 .doc 文件批量转换为 .txt,以便导入 Excel
How can I batch convert .doc files into .txt so I can import into Excel
我需要将大量 Word(主要是 .doc,一些 .docx)文件中的数据传输到 Excel 以便更好地记录和分析。
目前我看到的唯一方法是:手动打开每个文件 > 另存为 > 纯文本 > Windows(默认)。这是一项艰巨的任务,而且不是很好地利用时间,因为我有数百份文件要为此做这件事。
我绝对是 VBA 和宏的新手,但想象一下我可以用这些自动完成大部分工作。
或者,PowerShell 能够做到这一点吗?
我尝试按照 将 Word 批量转换为 .txt,但是当我打开 .txt 文件时,它们都是空白的。如果我遵循手动的一对一另存为路线,那么他们会将数据保存为文本。
如果您使用的代码对您不起作用,则表明您拥有的文档不包含表单域。要将文档简单地保存为文本,您需要做的就是省略 SaveFormsData:=True
,如下所示。
Sub SaveAllFormData(path As String)
Dim doc As Document
Dim fileName As String
fileName = Dir(path & "*.doc*")
' Loop through all .doc files in that path
Do While fileName <> ""
Set doc = Application.Documents.Open(path & fileName)
' Save form data
doc.SaveAs2 doc.FullName & ".txt", WdSaveFormat.wdFormatText
doc.Close wdDoNotSaveChanges
fileName = Dir
Loop
End Sub
我需要将大量 Word(主要是 .doc,一些 .docx)文件中的数据传输到 Excel 以便更好地记录和分析。 目前我看到的唯一方法是:手动打开每个文件 > 另存为 > 纯文本 > Windows(默认)。这是一项艰巨的任务,而且不是很好地利用时间,因为我有数百份文件要为此做这件事。
我绝对是 VBA 和宏的新手,但想象一下我可以用这些自动完成大部分工作。 或者,PowerShell 能够做到这一点吗?
我尝试按照
如果您使用的代码对您不起作用,则表明您拥有的文档不包含表单域。要将文档简单地保存为文本,您需要做的就是省略 SaveFormsData:=True
,如下所示。
Sub SaveAllFormData(path As String)
Dim doc As Document
Dim fileName As String
fileName = Dir(path & "*.doc*")
' Loop through all .doc files in that path
Do While fileName <> ""
Set doc = Application.Documents.Open(path & fileName)
' Save form data
doc.SaveAs2 doc.FullName & ".txt", WdSaveFormat.wdFormatText
doc.Close wdDoNotSaveChanges
fileName = Dir
Loop
End Sub