吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3409|回复: 32
收起左侧

求word doc docx文件合并vba代码或是软件

  [复制链接]
iamhrh2 发表于 2020-6-12 17:27
50吾爱币
本帖最后由 iamhrh2 于 2020-6-12 18:50 编辑

手上常常会有一堆的word文件有几十到上百个文件。有后缀docx也有doc格式的。有没有好的软件或是word的vba代码
可以直接将两种格式的word文件。组成一个新的文件。最终结果要存为docx,
我的word版本是word2016,最好是同版本。

word新建直接插入文件的方式就不用说了。

最佳答案

查看完整内容

vba code: [mw_shl_code=vb,true]Sub MergeDocuments() Application.ScreenUpdating = False MyPath = ActiveDocument.Path MyName = Dir(MyPath & "\" & "*.*") i = 0 Do While MyName "" If MyName ActiveDocument.Name Then Set wb = Documents.Open(MyPath & "\" & MyName) Selection.WholeStory Selection.Copy Windows(1).Activate Selection.EndKey ...

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

yuze0804007 发表于 2020-6-12 17:27
本帖最后由 yuze0804007 于 2020-6-12 19:14 编辑

vba code:
[Visual Basic] 纯文本查看 复制代码
Sub MergeDocuments()
    Application.ScreenUpdating = False
    MyPath = ActiveDocument.Path
    MyName = Dir(MyPath & "\" & "*.*")
i = 0
Do While MyName <> ""
    If MyName <> ActiveDocument.Name Then
        Set wb = Documents.Open(MyPath & "\" & MyName)
        Selection.WholeStory
        Selection.Copy
        Windows(1).Activate
        Selection.EndKey Unit:=wdLine
        Selection.TypeParagraph
        Selection.Paste
        i = i + 1
        wb.Close False
    End If
    MyName = Dir
    DoEvents
Loop
Application.ScreenUpdating = True
End Sub

蓝奏链接:https://wwa.lanzouj.com/iRFXtdlf5qf

要把所有doc和docx放在同一文件夹下

免费评分

参与人数 1吾爱币 +1 收起 理由
iamhrh2 + 1 我很赞同!

查看全部评分

一丝风 发表于 2020-6-12 17:40
https://www.52pojie.cn/thread-711377-1-1.html

这个合不合适,
要是纯文字的话,office本身就可以!

免费评分

参与人数 1热心值 +1 收起 理由
iamhrh2 + 1 我很赞同!

查看全部评分

 楼主| iamhrh2 发表于 2020-6-12 17:49
本帖最后由 iamhrh2 于 2020-6-12 17:52 编辑
谢谢。下载了可以支持doc和docx,但只能合并存为doc不能存为docx高版本,合并后导致docx高版本的公式直接变为图片。
一丝风 发表于 2020-6-12 17:58
iamhrh2 发表于 2020-6-12 17:49
谢谢。下载了可以支持doc和docx,但只能合并存为doc不能存为docx高版本,合并后导致docx高版本的公式直接变 ...

不嫌麻烦的话,先批量转成PDF,再批量合并,合并后就再转成word,因为PDF的软件有很多
 楼主| iamhrh2 发表于 2020-6-13 07:56
yuze0804007 发表于 2020-6-12 19:13
vba code:
[mw_shl_code=vb,true]Sub MergeDocuments()
    Application.ScreenUpdating = False

膜拜大神,非常牛。发现一个问题。能一页一页的分隔符分开吗有方法实现吗  ,比如第一个文件半页。第二个文件半页。组成新文件。这两个半页成了一页了。。。
yuze0804007 发表于 2020-6-13 15:41
iamhrh2 发表于 2020-6-13 07:56
膜拜大神,非常牛。发现一个问题。能一页一页的分隔符分开吗有方法实现吗  ,比如第一个文件半页。第二 ...

vba code v2
[Visual Basic] 纯文本查看 复制代码
Sub MergeDocuments()
    Application.ScreenUpdating = False
    MyPath = ActiveDocument.Path
    MyName = Dir(MyPath & "\" & "*.*")
    pagenum = 1
Do While MyName <> ""
    If MyName <> ActiveDocument.Name Then
        Set wb = Documents.Open(MyPath & "\" & MyName)
        Selection.WholeStory
        Selection.Copy
        Windows(1).Activate
        Selection.Paste
        wb.Close False
        Selection.EndKey Unit:=wdLine
        Selection.InsertBreak Type:=wdPageBreak
        pagenum = Word.ActiveDocument.Range.Information(wdNumberOfPagesInDocument)
        Selection.GoTo wdGoToPage, , pagenum
    End If
    MyName = Dir
    DoEvents
Loop
Application.ScreenUpdating = True
End Sub
yuze0804007 发表于 2020-6-13 15:44
yuze0804007 发表于 2020-6-13 15:41
vba code v2
[mw_shl_code=vb,true]Sub MergeDocuments()
    Application.ScreenUpdating = False

蓝奏云:https://wwa.lanzouj.com/iJYajdmh4ef
这版是按页数粘贴的, 半页不合并

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
lizhipei78 + 2 + 1 希望更新3.0版本,使用分节符

查看全部评分

 楼主| iamhrh2 发表于 2020-6-13 16:17
yuze0804007 发表于 2020-6-13 15:44
蓝奏云:https://wwa.lanzouj.com/iJYajdmh4ef
这版是按页数粘贴的, 半页不合并

没分了。感谢感谢
向往的歌 发表于 2020-6-14 19:22
yuze0804007 发表于 2020-6-12 17:27
vba code:
[mw_shl_code=vb,true]Sub MergeDocuments()
    Application.ScreenUpdating = False

高人,请教一下:楼主的这个是word。不知亲又如何用vba来进行excel同样的操作(合并汇总几十甚至上百份excel)?
返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 09:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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