Board logo

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

作者: coolrat    时间: 2011-8-2 17:05     标题: [已处理]如何修改该段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两种甚至两种以上的文件类型?

③ 所有的文件转化完成后,屏幕显示“转化完毕”
作者: broly    时间: 2011-8-2 18:32

  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
复制代码

作者: coolrat    时间: 2011-8-2 19:31

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

回复 2# broly

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




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2