标题: [文本处理] 批处理怎样将多个word合并成一个word? [打印本页]
作者: dan5262 时间: 2011-7-2 10:59 标题: 批处理怎样将多个word合并成一个word?
求一段代码,谢谢.
文件夹下有几百个word,怎样将它们合并成一个word?
可以统一格式,字体.
作者: ArdentMan 时间: 2011-7-2 13:49
本帖最后由 ArdentMan 于 2011-7-2 14:01 编辑
- Dim FSO, SHELL, Path, File, Output
- Set SHELL = CreateObject("Wscript.Shell")
- Path = SHELL.CurrentDirectory
- Set SHELL = Nothing
- Set FSO = CreateObject("Scripting.FileSystemObject")
- If FSO.FileExists("Total.doc") Then FSO.DeleteFile "Total.doc"
- For Each File In FSO.GetFolder(Path).Files
- If LCase(FSO.GetExtensionName(File)) = "doc" Then Read File.Name
- Next
- Dim WORD, DOC
- Set WORD = CreateObject("Word.Application")
- WORD.Visible = False
- Set DOC = WORD.Documents.Add()
- WORD.Selection.TypeText Output
- WORD.Selection.WholeStory
- WORD.Selection.Font.Name = "宋体"
- WORD.Selection.Font.Size = 12
- DOC.SaveAs(Path & "\Total.doc")
- DOC.Close
- WORD.Quit
- Set WORD = Nothing
- MsgBox "所有WORD合并完成!合成后的文件为Total.doc", , "ArdentMan友情提示"
-
- Sub Read(File)
- Dim WORD, DOC
- Set WORD = CreateObject("Word.Application")
- Set DOC = WORD.Documents.Open(Path & "\" & File)
- Output = Output & DOC.Range.Text & vbCrLf
- DOC.Close
- WORD.Quit
- Set WORD = Nothing
- End Sub
复制代码
作者: dan5262 时间: 2011-7-3 01:43
Dim FSO, SHELL, Path, File, Output
Set SHELL = CreateObject("Wscript.Shell")
Path = SHELL.CurrentDirectory
Set SHELL = Nothing
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileEx ...
ArdentMan 发表于 2011-7-2 13:49
谢谢.不过,我运行你的代码,没反应啊
作者: ArdentMan 时间: 2011-7-3 09:11
报错了吗?
没报错就一直等到它运行完呗
作者: Demon 时间: 2011-7-3 09:40
报错了吗?
没报错就一直等到它运行完呗
ArdentMan 发表于 2011-7-3 09:11
楼主不见得知道那是VBS
作者: CUer 时间: 2011-7-3 11:47
3# dan5262
代码保存为test.vbs,跟你的word文件放到同一个目录下面。
作者: dan5262 时间: 2011-7-8 01:14
谢谢. 我开始保持成BAT了.
我保存为VBS, 可以用, 但遇到出错的文档就中断了.
作者: ArdentMan 时间: 2011-7-8 09:26
可否将出错信息列出?
作者: dan5262 时间: 2011-7-17 21:32
可否将出错信息列出?
ArdentMan 发表于 2011-7-8 09:26
遇到加密文档,只读文档,就中断了.
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |