ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求助大神看看这段代码为什么后面的没有创建成功?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-4-11 16:27 | 显示全部楼层 |阅读模式
以下代码在当前excel表格中A列已经成功复制成功本目录中的所有word的报告号内容,但是B列的项目名称没有复制是怎么回事?我这是问的chatgpt给写的,自己不懂。,感激不尽,,,,原意是用VBA,检索本目录下所有doc文档,并查找山东信德房估和估价项目名称:这两句话。并复制到当前excel表格中A和B列中。




Sub searchDocFiles()
    Dim strFolder As String
    Dim strFile As String
    Dim objWord As Object
    Dim objDoc As Object
    Dim strContent As String
    Dim i As Integer
   
    strFolder = ThisWorkbook.Path
    strFile = Dir(strFolder & "\*.doc")
   
    '清空A、B两列的数据
    Range("A:B").ClearContents
   
    '设置 i 初始值为 2 (因为第一行是表头)
    i = 2
    Do While Len(strFile) > 0
        Set objWord = CreateObject("Word.Application")
        Set objDoc = objWord.Documents.Open(strFolder & "\" & strFile)
        
        '查找文档中的“山东信德房估”和“估价项目名称:”所在的段落
        With objDoc.Content.Find
            .Text = "山东信德房估"
            If .Execute() Then
                strContent = objDoc.Range.Paragraphs(1).Range.Text
                Range("A" & i).Value = Trim(Split(strContent, vbCr)(0))
            End If
            
            .Text = "估价项目名称:"
            If .Execute() Then
                '获取估价项目名称后面一句话的文字内容
                strContent = Split(.Parent.Text, ":")(1)
                '去除空格和换行符
                strContent = Replace(Trim(strContent), vbCr, "")
                Range("B" & i).Value = strContent
            End If
        End With
        
        objDoc.Close False
        objWord.Quit
        
        strFile = Dir()
        '每处理完一个文档,i 自增 1
        i = i + 1
    Loop
End Sub

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

本版积分规则

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

GMT+8, 2025-1-4 08:03 , Processed in 0.016086 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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