VBA 实例:Word 转 TXT
VBA 实例:Word 转 TXT
- Word 直接另存为 txt
- 处理错误文件
- 处理:6296
- 处理:5792
Word 直接另存为 txt
Option ExplicitPublic 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 ErrorHandlerDim currFile As VariantDim currDoc As DocumentApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalsecurrFile = Dir(INPUT_PATH)' ------------- 遍历目录中的文件 开始 -------------Do Until currFile = ""If Right(currFile, 5) = ".docx" Or Right(currFile, 4) = ".doc" ThenSet currDoc = Word.Documents.Open(FileName:=INPUT_PATH & currFile, Visible:=False)currDoc.SaveAs FileName:=OUTPUT_PATH & Split(currFile, ".")(0) & ".txt", FileFormat:=wdFormatTextcurrDoc.CloseEnd If
NextFile:currFile = Dir()LoopApplication.ScreenUpdating = TrueApplication.DisplayAlerts = TrueExit Sub
ErrorHandler:errlog "【错误文件】" & currFile & " " & Err.Number & ":" & Replace(Err.Description, vbLf, " vbCrLf ")Resume NextFile
End SubSub 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 可以打开。
我们把所有此类文件,另存一份。
就可以处理了。
VBA 实例:Word 转 TXT相关推荐
- vba访问服务器中txt文件,vba读取word内容 vba读取txt文件
excel vba 读取 word 指定字符 Sub 按钮1()Dim myPath As StringSet Wdapp = CreateObject("Word.Application")Wdap ...
- VBA读取html表格内容,科学网—VBA读取word文档表格中table的cell的text文本 - 付安民的博文...
VBA读取word文档表格中table的cell的text文本 已有 11546 次阅读 2010-6-4 16:40 |个人分类:学习篇|系统分类:科研笔记 Sub Readtable() Dim ...
- (转)Excel VBA 操作 Word(入门篇)
原文地址 本文的对象是:有一定Excel VBA基础,对Word VBA还没有什么认识,想在Excel中通过VBA操作Word还有困难的人. 一.新建Word引用 需要首先创建一个对 Word App ...
- 如何用word写书_如何用vba在word中添加打勾的方框?
最近在做word vba项目,遇到个需求,需要根据条件判断批量输出打√的方框和不打√的方框,类似如下图所示: 本来以为是个很容易的事情,没想到阻碍不小. 首先,我们先看看如何在word文档中手动输入带 ...
- 枚举如何设置空白_2019-07-04 用VBA设置word中shape对象相对位置
在excelhome上看到一个提问 Excel 请教:用代码插入文本框,不随文字移动.-ExcelVBA程序开发-ExcelHome技术论坛 -club.excelhome.net 本以为可以通过录 ...
- 利用VBA在Word中排出漂亮的代码
引言 在学习编程的过程中,常常会使用word来做笔记,下面我将对如何利用word宏来进行代码的排版进行说明 1.工具 我用的是word2007,word2003和word2010操作也差不多 2.基本 ...
- 通过VBA将word中的表格导入到excel中
通过VBA将word中的表格导入到excel中 由于项目需要,需要将word中的表格按照格式导入到excel中,所以通过在word中写VBA程序的方式将word的内容导出到excel中. 1.添加&q ...
- VBA 收集 Word关键字批量处理
VBA 收集 Word关键字批量处理 批量对关键字打标记(文件夹遍历) 写日志 移动文件 选择目录 对关键字打标记(查找替换) 创建样式 获取关键字(动态数组) 参考资料 批量对关键字打标记(文件夹遍 ...
- WPS中VBA控制word时出现调用错误
WPS中VBA控制word时出现调用错误 背景, 在WPS的环境下, 我的WORD自动填写软件出错, 主要怀疑: 如果没有WORD文件被打开的状态下 如果最后一个文件被关掉, 与EXCEL不同, 这时 ...
最新文章
- .net 导出excel_java导出excel(easypoi)
- 【数理知识】拉格朗日乘数 Lagrange multipliers
- Android Studio同步失败设置代理,Android Studio如何设置代理?
- C/C++ strlen函数为什么不能传入空指针NULL?
- 标准C函数库的使用方法
- [原创]OpenvSwitch安装
- Thymeleaf与Spring集成(第2部分)
- 计算机网络网络层之数据报网络
- MySql 双主多从配置指导
- 计算机网络实验视频word,(完整word版)《计算机网络与通信》实验.docx
- 让UITableView数据处理更轻便
- JavaWeb - GET 请求中 URL 的最大长度限制(附:解决方案)
- c语言怎么写注释,C语言如何注释一段代码?
- 电影剪辑软件测试工程师,《剪辑师》职业标准(试运行)一、职业概况
- 小爱音箱显示服务器连接不上,小爱音箱无法连接WiFi解决方法
- python网课教学_如何上好网课 — 老师录课和在线上课教学经验谈
- AdapterView之ListView简介
- html壁纸音频响应有问题,可爱的音频响应壁纸免费版
- 100人局域网(企业)至少需要多少带宽?
- 如何利用阿里云域名远程访问家中群辉NAS(Docker容器)上的calibre、halo博客?