如何把WORD文档批量转换为TXT格式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何把WORD文档批量转换为TXT格式
按Alt+F8,打开宏对话框,然后随便新建一个宏,单击创建,打开宏代码编辑器,然后将编辑器中的所有内容清空,将如下代码直接粘贴后,然后将光标置于Sub BatDocToTxt()之后,按F5运行即可。
'====代码开始====
Public Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As FolderInfor) As Long
Public Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Public Type FolderInfor
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
Public Function BrowDir() As String
Dim iFolder As FolderInfor
Dim pidl As Long, Flag As Long, iPath As String, Pos As Integer
pidl = SHBrowseForFolder(iFolder)
iPath = Space$(512)
Flag = SHGetPathFromIDList(ByVal pidl, ByVal iPath)
If Flag Then
Pos = InStr(iPath, Chr$(0))
BrowDir = Left(iPath, Pos - 1)
End If
End Function
Sub BatDocToTxt()
Dim InPath As String, Filename As String, OutPath As String
rc = MsgBox("本功能为将指定文件夹中的所有doc文档转换为txt文件。
" + vbCrLf + "已准备就绪可继续?", vbInformation + vbYesNo + vbDefaultButton2, "消息")
If rc = vbNo Then Exit Sub
MsgBox "请指定待处理的文档所在的目录。
", vbInformation, "消息"
InPath = BrowDir
If InPath = "" Then Exit Sub
MsgBox "请指定待转换后的txt文件的输出目录。
" + vbCrLf + "默认为待处理的目录。
", vbInformation, "消息"
OutPath = BrowDir
If OutPath = "" Then OutPath = InPath
MsgBox "即将进行转换,并未死机,请耐心等候完成通知!", vbInformation, "消息"
Application.Visible = False
Application.DisplayAlerts = wdAlertsNone
Filename = Dir(InPath & "\*.doc")
Do Until Filename = ""
On Error Resume Next
Documents.Open InPath & "\" & Filename
If Err.Number = 0 Then ActiveDocument.SaveAs OutPath & "\" &
Left(Filename, Len(Filename) - 3) & "txt", 2
On Error Resume Next
ActiveDocument.Close
Filename = Dir()
Loop
rc = MsgBox("转换完毕!要打开输出目录吗?", vbInformation + vbYesNo, "消息")
If rc = vbYes Then Shell "explorer.exe " + OutPath, vbMaximizedFocus Application.Visible = True
Application.DisplayAlerts = wdAlertsAll
End Sub
'===代码结束=====
以上才是真正普适的宏代码,也强烈推荐直接使用我开发的《文件批量处理百宝箱V8.0》主界面的Wrd2Txt功能。