[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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两种甚至两种以上的文件类型?

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

评分人数

    • tmplinshi: 感谢给帖子标题标注[已解决]字样PB + 2

  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. If strExtName="doc" Or strExtName="docx" Then
  9. strBaseName = fso.GetBaseName(f.Path)
  10. Set doc = word.Documents.Open(f.Path)
  11. doc.SaveAs fso.GetFolder(".") & "\" & strBaseName & ".txt",7
  12. doc.Close
  13. End If
  14. Next
  15. MsgBox "转换完成"
  16. Set fso = Nothing
  17. Set fc = Nothing
  18. Set f = Nothing
  19. Set word = Nothing
  20. Set doc = Nothing
复制代码
1

评分人数

---学无止境---

TOP

本帖最后由 coolrat 于 2011-8-2 19:35 编辑

回复 2# broly

衷心感谢broly君及时援手相助,经试验,其修改能实现处理目标。

TOP

返回列表