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

求助:vbs能合并word文档吗

[复制链接]
发表于 2009-10-8 17:39:54 | 显示全部楼层 |阅读模式
求助:vbs能合并word文档吗
123文件夹内有两个word文档,a.doc和b.doc
现需要把b.doc内容接在a.doc的下面
但是a.doc和b.doc的字体、页面设置等都不一样,最主要的a.doc是双栏显示,而b.doc是单栏显示
要求b.doc与a.doc合并后,各自的设置都保持不变。
能做到吗?
发表于 2009-10-8 17:52:30 | 显示全部楼层
随风大大一出就出这么难的题 55 俺承认俺是新手不会...先占个楼...有好方法了在发上来~
发表于 2009-10-8 19:38:48 | 显示全部楼层
问题是双栏 和 单栏 各自还要保持吗?没见过这样的设置:在同一word中,同时存在不同的栏
 楼主| 发表于 2009-10-8 22:12:24 | 显示全部楼层

回复 3楼 的帖子

要保持,一定要保持,如果有难度,可以假设前面的(即a.doc的)双栏,正好占满a.doc的最后一页

[ 本帖最后由 随风 于 2009-10-8 22:13 编辑 ]
 楼主| 发表于 2009-10-11 10:00:17 | 显示全部楼层
解决不了吗?
发表于 2009-10-11 10:10:43 | 显示全部楼层
哇咔咔,不要动!
sendkeys全屏复制 切换word文档, {down}到最下方,然后粘贴 。
(别骂我。)
发表于 2009-10-11 10:25:10 | 显示全部楼层
当然可以解决,我试试,但不保证!
发表于 2009-10-11 11:32:13 | 显示全部楼层
直接用 InsertFile 方法把所有文件插入到一个文件应该可以吧?
现在没有环境测试。
  1. Set objWord = CreateObject("Word.Application")
  2. 'objWord.Visible = True
  3. Set objDoc = objWord.Documents.Add()
  4. Set objSelection = objWord.Selection
  5. objSelection.InsertFile "C:\123\a.doc"
  6. objSelection.TypeText vbCrLf
  7. objSelection.InsertFile "C:\123\b.doc"
  8. objDoc.SaveAs "C:\123\all.doc"
  9. objWord.Quit
复制代码
发表于 2009-10-11 12:08:10 | 显示全部楼层
将本vbs文件和a.doc、b.doc保存到同一目录下
测试代码:

  1. ON ERROR RESUME NEXT
  2. Set WordApp=CreateObject("word.application")
  3. 'WordAPP.visible=True
  4. Set FSO=CreateObject("Scripting.FileSystemObject")
  5. SelfPath=FSO.GetFolder(".").Path & ""
  6. FileName1=SelfPath & "a.doc"
  7. FileName2=SelfPath & "b.doc"
  8. Set Doc1=WordApp.Documents.Open(FileName1)
  9. Set Doc2=WordApp.Documents.Open(FileName2)
  10. TextColumnNum=Doc2.PageSetup.TextColumns.count
  11. WordApp.selection.WholeStory
  12. WordApp.selection.Copy
  13. Doc1.Activate
  14. WordAPP.selection.move 6
  15. WordApp.Selection.TypeParagraph
  16. RangeStart=WordApp.selection.start
  17. WordApp.selection.Paste
  18. RangeEnd=Doc1.content.end
  19. Doc1.Range(RangeStart,RangeEnd).select
  20. Doc1.Range(RangeStart, RangeStart).InsertBreak 3
  21. WordApp.selection.Start = WordApp.selection.Start + 1
  22. Doc1.Range(RangeStart, RangeEnd).InsertBreak 3
  23. WordApp.Selection.PageSetup.TextColumns.SetCount 1
  24. Doc1.save
  25. msgbox "文件合并完成!",vbinformation+vbokonly,"Doc合并"
  26. Set FSO=nothing
  27. Set aDoc=nothing
  28. WordApp.quit

复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-16 23:47 , Processed in 0.017876 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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