ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4203|回复: 16

[求助] 多个文件夹中的word如何按子文件名批量合并成一个word

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-4-1 16:06 | 显示全部楼层 |阅读模式
多个文件夹中的word如何按子文件名批量合并成一个word





假如我有500个文件夹,每一个子文件夹有多个文档,按照子文件合并子文件夹下所有word,并按照子文件名称命名文档名称










TA的精华主题

TA的得分主题

 楼主| 发表于 2021-4-1 20:18 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-4-4 10:19 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-4-4 11:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wuqing960412 发表于 2021-4-4 10:19
大佬,跪求帮忙11111111

附件?没有附件不好写代码不是

TA的精华主题

TA的得分主题

发表于 2021-4-4 15:43 | 显示全部楼层
大佬不在岗,菜鸟来帮忙
Sub 合并子文件夹下文档()
    Dim filesys As Object, drv As Object, fd As FileDialog
    Dim wd As Document, wd1 As Document, w$, s$, m$
    Application.ScreenUpdating = False
    Set filesys = CreateObject("scripting.filesystemobject")
    Set fd = Application.FileDialog(4)
    fd.AllowMultiSelect = True
    fd.Show               '请选择子文件夹的上一级文件夹,获得父文件夹路径
    On Error Resume Next
    s = fd.InitialFileName
    For Each drv In filesys.GetFolder(s).SubFolders
        If drv.Size > 0 Then
            m = drv.Name
            Set wd = Documents.Add
        End If
            w = Dir(s & m & "\*.doc?")
        Do
            If InStr(w, ".doc") > 0 Then
               Set wd1 = Documents.Open(s & m & "\" & w)
                    With wd1
                        .Range.Copy
                        .Close 0
                    End With
                    Selection.Paste
            End If
            w = Dir
        Loop Until w = ""
        wd.SaveAs2 (s & m & ".docx")
        wd.Close
     Next drv
     Set fd = Nothing
     Set filesys = Nothing
     Application.ScreenUpdating = True
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-4-7 15:27 | 显示全部楼层
z9bhd 发表于 2021-4-4 15:43
大佬不在岗,菜鸟来帮忙
Sub 合并子文件夹下文档()
    Dim filesys As Object, drv As Object, fd As Fi ...

大神,你这个是可以的唯一的就是,能不能按照整页的合并,有的会往上面跑,麻烦给给看看https://wwe.lanzous.com/i4r8Lnr4zod

TA的精华主题

TA的得分主题

发表于 2021-4-8 08:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wuqing960412 发表于 2021-4-7 15:27
大神,你这个是可以的唯一的就是,能不能按照整页的合并,有的会往上面跑,麻烦给给看看https://wwe.lanz ...

没有附件乱写一气,你发的这个下载不了

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-4-8 09:59 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-4-8 12:45 | 显示全部楼层
wuqing960412 发表于 2021-4-7 15:27
大神,你这个是可以的唯一的就是,能不能按照整页的合并,有的会往上面跑,麻烦给给看看https://wwe.lanz ...

估计又发错地方了

TA的精华主题

TA的得分主题

发表于 2021-4-8 13:41 | 显示全部楼层
wuqing960412 发表于 2021-4-7 15:27
大神,你这个是可以的唯一的就是,能不能按照整页的合并,有的会往上面跑,麻烦给给看看https://wwe.lanz ...

你没有说每个文档要分开,加个分页符就可以了
Sub 合并子文件夹下文档()
    Dim filesys As Object, drv As Object, fd As FileDialog
    Dim wd As Document, wd1 As Document, w$, s$, m$, k%
    Application.ScreenUpdating = False
    Set filesys = CreateObject("scripting.filesystemobject")
    Set fd = Application.FileDialog(4)
    fd.AllowMultiSelect = True
    fd.Show               '请选择子文件夹的上一级文件夹,获得父文件夹路径
    On Error Resume Next
    s = fd.InitialFileName
    For Each drv In filesys.GetFolder(s).SubFolders
        If drv.Size > 0 Then
            m = drv.Name
            n = filesys.GetFolder(s & m & "\").Files.Count
            Set wd = Documents.Add
        End If
            w = Dir(s & m & "\*.doc?")
        k = 0
        Do
            k = k + 1
            If InStr(w, ".doc") > 0 Then
               Set wd1 = Documents.Open(s & m & "\" & w)
                    With wd1
                        .Range.Copy
                        .Close 0
                    End With
                    Selection.Paste
                    If k < n Then Selection.TypeText Chr(12)
                    
            End If
            w = Dir
        Loop Until w = ""
        wd.SaveAs2 (s & m & ".docx")
        wd.Close
     Next drv
     Set fd = Nothing
     Set filesys = Nothing
     Application.ScreenUpdating = True
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-4 10:28 , Processed in 0.031115 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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