标题: [问题求助] [已处理]如何修改该段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/- Dim array1(100) '①100表示该文件夹最多的文件数,如果文件数大于100请自行修改
- Dim source(100) '①100表示该文件夹最多的文件数,如果文件数大于100请自行修改
- Dim destination(100) '①100表示该文件夹最多的文件数,如果文件数大于100请自行修改
- Set fs = CreateObject("Scripting.FileSystemObject")
- Set f = fs.GetFolder("D:\我的doc\") '②此处表示doc所在的文件夹,请根据需要自行修改
- Set fc = f.Files
- i = 0
- For Each f1 In fc
- array1(i) = f1.Name
- Ext = fs.GetExtensionName(array1(i))
- Ext = LCase(Ext)
- If Ext = "doc" Then '③此处表示转换类型
- source(i) = f & "\" & array1(i)
- destination(i) = Left(source(i), Len(source(i)) - 4) & ".txt"
- Set wordApp = CreateObject("Word.Application")
- Set wordDoc = wordApp.Documents.Open(source(i))
- wordDoc.SaveAs destination(i), 7
- wordDoc.Close
- Set wordDoc = Nothing
- wordApp.Quit
- Set wordApp = Nothing
- End If
- i = i + 1
- Next
复制代码
问题是:
如果在此段代码基础上实现以下几项,该如何修改?
① 让vbs自动对所在文件夹内对象运行,则不需要指定具体文件夹,所转化的TXT也在同一文件夹内。
② 能否同时转化doc和docx两种甚至两种以上的文件类型?
③ 所有的文件转化完成后,屏幕显示“转化完毕”
作者: broly 时间: 2011-8-2 18:32
- Dim word,doc,fso,fc,f
- Dim strBaseName,strExtName
-
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set fc = fso.GetFolder(".").Files
-
- Set word = CreateObject("Word.Application")
-
- For Each f In fc
- strExtName = LCase( fso.GetExtensionName(f.Path) )
-
- If strExtName="doc" Or strExtName="docx" Then
- strBaseName = fso.GetBaseName(f.Path)
- Set doc = word.Documents.Open(f.Path)
-
- doc.SaveAs fso.GetFolder(".") & "\" & strBaseName & ".txt",7
-
- doc.Close
-
- End If
- Next
-
- MsgBox "转换完成"
-
- Set fso = Nothing
- Set fc = Nothing
- Set f = Nothing
- Set word = Nothing
- 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 |