Board logo

标题: 求助:vbs能合并word文档吗 [打印本页]

作者: 随风    时间: 2009-10-8 17:39     标题: 求助:vbs能合并word文档吗

求助:vbs能合并word文档吗
123文件夹内有两个word文档,a.doc和b.doc
现需要把b.doc内容接在a.doc的下面
但是a.doc和b.doc的字体、页面设置等都不一样,最主要的a.doc是双栏显示,而b.doc是单栏显示
要求b.doc与a.doc合并后,各自的设置都保持不变。
能做到吗?
作者: Seter    时间: 2009-10-8 17:52

随风大大一出就出这么难的题 55 俺承认俺是新手不会...先占个楼...有好方法了在发上来~
作者: youxi01    时间: 2009-10-8 19:38

问题是双栏 和 单栏 各自还要保持吗?没见过这样的设置:在同一word中,同时存在不同的栏
作者: 随风    时间: 2009-10-8 22:12     标题: 回复 3楼 的帖子

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

[ 本帖最后由 随风 于 2009-10-8 22:13 编辑 ]
作者: 随风    时间: 2009-10-11 10:00

解决不了吗?
作者: 523066680    时间: 2009-10-11 10:10

哇咔咔,不要动!
sendkeys全屏复制 切换word文档, {down}到最下方,然后粘贴 。
(别骂我。)
作者: youxi01    时间: 2009-10-11 10:25

当然可以解决,我试试,但不保证!
作者: zqz0012005    时间: 2009-10-11 11:32

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

作者: youxi01    时间: 2009-10-11 12:08

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





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