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

处理错误文件

遇到两种错误:

  1. 6296: Word 无法打开该文件,因为文件格式与文件扩展名不匹配。
  2. 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相关推荐

  1. vba访问服务器中txt文件,vba读取word内容 vba读取txt文件

    excel vba 读取 word 指定字符 Sub 按钮1()Dim myPath As StringSet Wdapp = CreateObject("Word.Application")Wdap ...

  2. VBA读取html表格内容,科学网—VBA读取word文档表格中table的cell的text文本 - 付安民的博文...

    VBA读取word文档表格中table的cell的text文本 已有 11546 次阅读 2010-6-4 16:40 |个人分类:学习篇|系统分类:科研笔记 Sub Readtable() Dim ...

  3. (转)Excel VBA 操作 Word(入门篇)

    原文地址 本文的对象是:有一定Excel VBA基础,对Word VBA还没有什么认识,想在Excel中通过VBA操作Word还有困难的人. 一.新建Word引用 需要首先创建一个对 Word App ...

  4. 如何用word写书_如何用vba在word中添加打勾的方框?

    最近在做word vba项目,遇到个需求,需要根据条件判断批量输出打√的方框和不打√的方框,类似如下图所示: 本来以为是个很容易的事情,没想到阻碍不小. 首先,我们先看看如何在word文档中手动输入带 ...

  5. 枚举如何设置空白_2019-07-04 用VBA设置word中shape对象相对位置

    在excelhome上看到一个提问 Excel 请教:用代码插入文本框,不随文字移动.-ExcelVBA程序开发-ExcelHome技术论坛 -​club.excelhome.net 本以为可以通过录 ...

  6. 利用VBA在Word中排出漂亮的代码

    引言 在学习编程的过程中,常常会使用word来做笔记,下面我将对如何利用word宏来进行代码的排版进行说明 1.工具 我用的是word2007,word2003和word2010操作也差不多 2.基本 ...

  7. 通过VBA将word中的表格导入到excel中

    通过VBA将word中的表格导入到excel中 由于项目需要,需要将word中的表格按照格式导入到excel中,所以通过在word中写VBA程序的方式将word的内容导出到excel中. 1.添加&q ...

  8. VBA 收集 Word关键字批量处理

    VBA 收集 Word关键字批量处理 批量对关键字打标记(文件夹遍历) 写日志 移动文件 选择目录 对关键字打标记(查找替换) 创建样式 获取关键字(动态数组) 参考资料 批量对关键字打标记(文件夹遍 ...

  9. WPS中VBA控制word时出现调用错误

    WPS中VBA控制word时出现调用错误 背景, 在WPS的环境下, 我的WORD自动填写软件出错, 主要怀疑: 如果没有WORD文件被打开的状态下 如果最后一个文件被关掉, 与EXCEL不同, 这时 ...

最新文章

  1. .net 导出excel_java导出excel(easypoi)
  2. 【数理知识】拉格朗日乘数 Lagrange multipliers
  3. Android Studio同步失败设置代理,Android Studio如何设置代理?
  4. C/C++ strlen函数为什么不能传入空指针NULL?
  5. 标准C函数库的使用方法
  6. [原创]OpenvSwitch安装
  7. Thymeleaf与Spring集成(第2部分)
  8. 计算机网络网络层之数据报网络
  9. MySql 双主多从配置指导
  10. 计算机网络实验视频word,(完整word版)《计算机网络与通信》实验.docx
  11. 让UITableView数据处理更轻便
  12. JavaWeb - GET 请求中 URL 的最大长度限制(附:解决方案)
  13. c语言怎么写注释,C语言如何注释一段代码?
  14. 电影剪辑软件测试工程师,《剪辑师》职业标准(试运行)一、职业概况
  15. 小爱音箱显示服务器连接不上,小爱音箱无法连接WiFi解决方法
  16. python网课教学_如何上好网课 — 老师录课和在线上课教学经验谈
  17. AdapterView之ListView简介
  18. html壁纸音频响应有问题,可爱的音频响应壁纸免费版
  19. 100人局域网(企业)至少需要多少带宽?
  20. 如何利用阿里云域名远程访问家中群辉NAS(Docker容器)上的calibre、halo博客?

热门文章

  1. 怎么调用android 自带的图片浏览器
  2. 昂达v80plus Linux,昂达V80 Plus双系统
  3. ubuntu 11.10 3D桌面特效及其窗口特效设置
  4. t.cn短链接生成 - 新浪短网址生成器压缩网址详细教程
  5. 麻将游戏算法深入解析
  6. 灌溉草场POJ2373
  7. Arduino开发实例-DIY风速测量及显示
  8. sysctl优化linux网络
  9. SNS与在线旅游的整合实践
  10. iOS 7用户界面过渡指南