找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19237|回复: 2

[问题求助] [已处理]如何修改该段doc文档转化为txt的VBS?

[复制链接]
发表于 2011-8-2 17:05:08 | 显示全部楼层 |阅读模式
本帖最后由 coolrat 于 2011-8-2 19:33 编辑

近日在网络上搜寻到一段批量doc文档转化为txt,试验之后,效果还不多,源码参见
   
http://skday.com/archives/418/

  1. Dim array1(100) '①100表示该文件夹最多的文件数,如果文件数大于100请自行修改
  2. Dim source(100) '①100表示该文件夹最多的文件数,如果文件数大于100请自行修改
  3. Dim destination(100) '①100表示该文件夹最多的文件数,如果文件数大于100请自行修改
  4. Set fs = CreateObject("Scripting.FileSystemObject")
  5. Set f = fs.GetFolder("D:\我的doc") '②此处表示doc所在的文件夹,请根据需要自行修改
  6. Set fc = f.Files
  7. i = 0
  8. For Each f1 In fc
  9.     array1(i) = f1.Name
  10.     Ext = fs.GetExtensionName(array1(i))
  11.     Ext = LCase(Ext)
  12.     If Ext = "doc" Then '③此处表示转换类型
  13.         source(i) = f & "" & array1(i)
  14.         destination(i) = Left(source(i), Len(source(i)) - 4) & ".txt"
  15.         Set wordApp = CreateObject("Word.Application")
  16.         Set wordDoc = wordApp.Documents.Open(source(i))
  17.         wordDoc.SaveAs destination(i), 7
  18.         wordDoc.Close
  19.         Set wordDoc = Nothing
  20.         wordApp.Quit
  21.         Set wordApp = Nothing
  22.     End If
  23.     i = i + 1
  24. Next

复制代码
问题是:
如果在此段代码基础上实现以下几项,该如何修改?

① 让vbs自动对所在文件夹内对象运行,则不需要指定具体文件夹,所转化的TXT也在同一文件夹内。

② 能否同时转化doc和docx两种甚至两种以上的文件类型?

③ 所有的文件转化完成后,屏幕显示“转化完毕”

评分

参与人数 1PB +2 收起 理由
tmplinshi + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-8-2 18:32:51 | 显示全部楼层
  1. Dim word,doc,fso,fc,f
  2. Dim strBaseName,strExtName

  3. Set fso = CreateObject("Scripting.FileSystemObject")
  4. Set fc = fso.GetFolder(".").Files

  5. Set word = CreateObject("Word.Application")

  6. For Each f In fc
  7.         strExtName = LCase( fso.GetExtensionName(f.Path) )
  8.        
  9.         If strExtName="doc" Or strExtName="docx" Then
  10.                 strBaseName = fso.GetBaseName(f.Path)
  11.                 Set doc = word.Documents.Open(f.Path)
  12.                
  13.                 doc.SaveAs fso.GetFolder(".") & "" & strBaseName & ".txt",7
  14.                
  15.                 doc.Close
  16.        
  17.         End If
  18. Next

  19. MsgBox "转换完成"

  20. Set fso = Nothing
  21. Set fc = Nothing
  22. Set f = Nothing
  23. Set word = Nothing
  24. Set doc = Nothing
复制代码

评分

参与人数 1技术 +1 收起 理由
tmplinshi + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-8-2 19:31:59 | 显示全部楼层
本帖最后由 coolrat 于 2011-8-2 19:35 编辑

回复 2# broly

衷心感谢broly君及时援手相助,经试验,其修改能实现处理目标。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 06:09 , Processed in 0.011938 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表