Excel精英培训网

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

[已解决]求帮忙修改一下提取word文档内包含指定关键词的语句代码

[复制链接]
发表于 2021-12-25 23:07 | 显示全部楼层 |阅读模式
本帖最后由 jian82372387 于 2021-12-26 09:32 编辑

需求:将11月份汇总文件夹里所有WORD文件里带有主板故障类型的内容提取到excel中,第一列为word文件名称,第二列内容为含有指定关键词的语句。(现在下面代码只能提取到word的表格中,而且如果某个word文档中有多条含有关键词的语句只能提取到第一次出现的,后面的无法提取出来,而且能否将文件夹路径改为可以选择,不需要每次输入路径)有大神能帮忙修改一下吗???

Sub shishi()
Set FSO对象 = CreateObject("Scripting.FileSystemObject")
Set 文件夹 = FSO对象.GetFolder("c:\Users\Adminis\Desktop/11月份维修汇总")
行 = 1
For Each i In 文件夹.Files
    文件名 = FSO对象.GetBaseName(i)
    Set 文档 = Documents.Open(CStr(i))
    s = "(分)(*)(主板故障)"
    With 文档.Content.Find
        .Text = s
        .MatchWildcards = True  '使用通配符
        If .Execute Then a = Replace(Replace(.Parent, "分", ""), "主板故障", "")
    End With
    ThisDocument.Tables(1).Cell(行, 1).Range.Text = 文件名
    ThisDocument.Tables(1).Cell(行, 2).Range.Text = a
    行 = 行 + 1
    文档.Close
Next
End Sub


最佳答案
2021-12-26 02:03
祝順心,南無阿彌陀佛!

11月份维修汇总.rar

38 KB, 下载次数: 2

发表于 2021-12-26 02:03 | 显示全部楼层    本楼为最佳答案   
祝順心,南無阿彌陀佛!

demo.rar

46.54 KB, 下载次数: 13

回复

使用道具 举报

 楼主| 发表于 2021-12-26 09:20 | 显示全部楼层
本帖最后由 jian82372387 于 2021-12-26 09:25 编辑
cutecpu 发表于 2021-12-26 02:03
祝順心,南無阿彌陀佛!
代码是这样吗??好像上传后代码有些变乱码了
Sub demo()
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set fd = Application.FileDialog(msoFileDialogFolderPicker)
   If fd.Show = -1 Then Set folder = fso.GetFolder(fd.SelectedItems(1))
Set word = CreateObject("word.Application")
   [a2:b1000].ClearContents
   For Each file In folder.Files
      If Not file Like "*.docx" Then GoTo 1
      Name = fso.getbasename(file)
      Set doc = word.Documents.Open(file.Path)
      With doc
         For Each p In .Paragraphs
            If InStr(p.Range.Text, "狾珿毁") > 0 Then
               [a2].Offset(r).Resize(, 2) = Array(Name, p.Range.Text)
               r = r + 1
            End If
         Next
         .Close
      End With
1: Next
   word.Quit
End Sub


点评

乱码部份,打上「主板故障」即可!  发表于 2021-12-26 12:48
回复

使用道具 举报

 楼主| 发表于 2021-12-26 13:35 | 显示全部楼层
jian82372387 发表于 2021-12-26 09:20
代码是这样吗??好像上传后代码有些变乱码了
Sub demo()
   Set fso = CreateObject("Scripting.FileS ...

改了测试了也不行

点评

您上传改了之后的附件我看看  发表于 2021-12-26 13:50
回复

使用道具 举报

 楼主| 发表于 2021-12-26 14:00 | 显示全部楼层

可以拉,感谢,我找到原因了,是因为有部分word文件名后缀是.doc,所以不成功

评分

参与人数 1学分 +2 收起 理由
cutecpu + 2 不客气。祝顺心,南无阿弥陀佛!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 00:44 , Processed in 0.176640 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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