Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 13529|回复: 20

怎样把word里面的内容提取到Excel表格中

[复制链接]
发表于 2019-4-14 18:11 | 显示全部楼层 |阅读模式
1学分
怎样把word里面的内容提取到Excel表格中


求助!!!.zip

76.88 KB, 下载次数: 38

发表于 2019-4-14 19:45 | 显示全部楼层
Option Explicit

Dim A(1 To 10 ^ 4, 1 To 3), i

'入口
Sub wd2sht()
    Dim p, f

    '1)清除
    Application.ScreenUpdating = False
    Sheets(1).Select
    [a4:k65536] = ""

    '2)收集
    p = ThisWorkbook.Path & "\"
    f = Dir(p & "*.doc*")
    Do While f <> ""
        Call Wd2Arr(GetObject(p & f))
        f = Dir()
    Loop

    '3)输出
    If i Then [f4].Resize(i, UBound(A, 2)) = A
End Sub

'文档到数组
Sub Wd2Arr(wd)
    i = i + 1
    A(i, 1) = zh(wd.tables(1).Cell(3, 1).Range.Text)
    A(i, 3) = zh(wd.tables(1).Cell(6, 3).Range.Text)
    wd.Close 0
End Sub

'去除特殊字符
Function zh(x)
    zh = Left(x, Len(x) - 2)
End Function
1.rar (39.39 KB, 下载次数: 123)
回复

使用道具 举报

 楼主| 发表于 2019-4-14 23:00 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2019-4-14 23:01 | 显示全部楼层
完美解决
回复

使用道具 举报

 楼主| 发表于 2019-4-15 08:06 | 显示全部楼层
爱疯 发表于 2019-4-14 19:45
Option Explicit

Dim A(1 To 10 ^ 4, 1 To 3), i

可以是可以就是有一点当WORD比较多的时候提取进去顺序会乱
回复

使用道具 举报

 楼主| 发表于 2019-4-15 08:25 | 显示全部楼层
爱疯 发表于 2019-4-14 19:45
Option Explicit

Dim A(1 To 10 ^ 4, 1 To 3), i

可以是可以,就是有一点:当WORD比较多的时候提取进去顺序会乱
回复

使用道具 举报

发表于 2019-4-15 08:34 | 显示全部楼层
liucong835016 发表于 2019-4-15 08:25
可以是可以,就是有一点:当WORD比较多的时候提取进去顺序会乱

怎么情况下,会怎样的乱?看不到,也没数据测
回复

使用道具 举报

 楼主| 发表于 2019-4-15 09:11 | 显示全部楼层
就是例如我的文档是文档1-1000,提取到Excel中不是按照1-1000的顺序排列的,Excel里面会乱
回复

使用道具 举报

发表于 2019-4-15 09:30 | 显示全部楼层
能发下截图吗?
1个是乱的,1个是对的
回复

使用道具 举报

发表于 2019-4-15 09:33 | 显示全部楼层
因为看不懂具体情况,所以想到的方法不知是否适合。
关键是求助时需提供足够的说明,不仅是文字,还可能要有附件或截图。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 16:32 , Processed in 0.294603 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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