Word 赚 Txt
Posted 笑虾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Word 赚 Txt相关的知识,希望对你有一定的参考价值。
Word 赚 Txt
Word 直接另存为 txt
Option Explicit
Public Const INPUT_PATH As String = "E:\\temp\\文件\\word\\" ' 要处理的文件所在
Public Const OUTPUT_PATH As String = "E:\\temp\\文件\\txt\\" ' 存完成文件的目录名
Public Const ERR_LOG_FILE As String = "E:\\temp\\文件\\errLog.log" ' 错误日志
Sub Docx2txt()
On Error GoTo ErrorHandler
Dim currFile As Variant
Dim currDoc As Document
Application.ScreenUpdating = False
Application.DisplayAlerts = False
currFile = Dir(INPUT_PATH)
' ------------- 遍历目录中的文件 开始 -------------
Do Until currFile = ""
If Right(currFile, 5) = ".docx" Or Right(currFile, 4) = ".doc" Then
Set currDoc = Word.Documents.Open(FileName:=INPUT_PATH & currFile, Visible:=False)
currDoc.SaveAs FileName:=OUTPUT_PATH & Split(currFile, ".")(0) & ".txt", FileFormat:=wdFormatText
currDoc.Close
End If
NextFile:
currFile = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Exit Sub
ErrorHandler:
errlog "【错误文件】" & currFile & " " & Err.Number & ":" & Replace(Err.Description, vbLf, " vbCrLf ")
Resume NextFile
End Sub
Sub errlog(logMsg As String)
Shell "cmd.exe /c echo " & Format(Now, "YYYY-MM-DD HH:MM:SS") & " " & logMsg & " >> " & ERR_LOG_FILE, vbHide
End Sub
处理错误文件
遇到两种错误:
6296
: Word 无法打开该文件,因为文件格式与文件扩展名不匹配。5792
: 文件可能已经损坏。
2022-05-04 07:07:14 【错误文件】a.docx 6296:Word 无法打开该文件,因为文件格式与文件扩展名不匹配。
2022-05-04 07:14:35 【错误文件】b.docx 5792:文件可能已经损坏。
处理:6296
分析错误日志,先把错误的文件复制出来。
Notepad++
使用正则替换一下,查找 (.+).docx
替换为 $1.docx $1.doc
。(注意开头的空格)
从当前文件夹下的 word\\
复制到 error\\
echo F | xcopy %~dp0word\\a.docx %~dp0error\\a.doc /Y
echo F | xcopy %~dp0word\\b.docx %~dp0error\\b.doc /Y
处理:5792
经过分析 WPS 可以打开。
我们把所有此类文件,另存一份。
就可以处理了。
以上是关于Word 赚 Txt的主要内容,如果未能解决你的问题,请参考以下文章