ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 通过vba将execl数据批量录入word文档

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-12-30 10:41 | 显示全部楼层 |阅读模式
首先,祝大师们元旦节快乐。,新年之始发个贴,求大家帮忙了。
要求通过数据表中编号查找word文件(提供的word文件名里带有编号),向word文件中写入数据信息,
            1. 在word文件中“承包期限”信息里将“2014年10月15日至2028年12月31日”全部替换成“20141015日至20281231延长到:202911日至20581231日止"   (指示:这个单元格内容是固定的)
    2.在word文件中"农村土地承包经营权证流水号及不动产权证号"信息里,补加数据表中编号对应的不动产号信息。(这个单元格内容是不定的)效果如图。




1703902542709.png
1703902661885.png

测试件.rar

169.08 KB, 下载次数: 27

TA的精华主题

TA的得分主题

发表于 2023-12-30 11:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
数据源的例子:
2023-12-30数据源.png

TA的精华主题

TA的得分主题

发表于 2023-12-30 11:35 | 显示全部楼层
Sub test()
    Application.ScreenUpdating = False
    arr = Worksheets("sheet1").UsedRange
    Set doc = CreateObject("word.application")
    f = Dir(ThisWorkbook.Path & "\*.doc")
    Do While f <> ""
        rr = Left(f, 18)
        For i = 1 To UBound(arr)
            If arr(i, 2) = rr Then
                s1 = arr(i, 4)
                s2 = arr(i, 5)
                Exit For
            End If
        Next
        Set wd = doc.Documents.Open(ThisWorkbook.Path & "\" & f)
        'doc.Visible = True
        With wd.tables(1)
            .Cell(11, 2) = s1
            .Cell(14, 2) = s2
        End With
   
        f = Dir
        wd.Close True
    Loop
    Application.ScreenUpdating = True
End Sub

TA的精华主题

TA的得分主题

发表于 2023-12-30 11:38 | 显示全部楼层
我给你做了一个  看一下

测试件.rar

180.28 KB, 下载次数: 27

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-30 17:15 | 显示全部楼层
本帖最后由 同心/ty 于 2023-12-30 17:57 编辑
wxxydl 发表于 2023-12-30 11:38
我给你做了一个  看一下

老师,你的代码我测试了一下,不动产号要求在原信息后添加上去,而你代码的效果是完全替换,老师,能不能再修改一下?


1703930217491.png 效果如图

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-30 17:51 | 显示全部楼层
本帖最后由 同心/ty 于 2023-12-31 08:42 编辑

老师,我按你的代码抄了一遍,执行后,文字一直在加,不停止。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-30 19:54 | 显示全部楼层

老师,多谢你编写的代码,能按我的要求添加对应的数据,但一直循环的加入,不停止。在你的代码基础上我修改了一下,顺利的写入完成。
Sub lqxs()
    Dim WD As Object, DC As Object
    Dim tb As Object, bm$, nm$, myPath$, myName$
    Dim Arr, i%, d, n%, s4$
   
    Set d = CreateObject("Scripting.Dictionary")
    Set WD = CreateObject("Word.Application")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
     
    Sheet1.Activate
    Arr = Range("A1").CurrentRegion
    For i = 2 To UBound(Arr)
        bm = Arr(i, 2) & "_" & Arr(i, 3) & "_登记簿"
        d(bm) = i
    Next
    myPath = ThisWorkbook.Path & "\"
    Set objFolder = objFSO.GetFolder(myPath)
   
    For Each objFile In objFolder.Files
        If LCase(Right(objFile.Name, 4)) = ".doc" Then
        nm = Split(objFile.Name, ".")(0)
       If d.exists(nm) Then
       n = d(nm)
       Set DC = WD.documents.Open(myPath & objFile.Name)
       WD.Visible = True
       Set tb = DC.tables(1)
       With tb
       .Range.Cells(22).Range.Text = Arr(n, 4)
        s4 = .Range.Cells(28).Range.Text
       .Range.Cells(28).Range.Text = s4 & Arr(n, 5)
    End With
    DC.Close True
  End If
    End If
    Next objFile
   
  Set WD = Nothing
End Sub

TA的精华主题

TA的得分主题

发表于 2023-12-30 20:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
已改。。。。。。。。。。。。。。。

数据源.rar

17.76 KB, 下载次数: 45

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-31 09:05 | 显示全部楼层
wxxydl 发表于 2023-12-30 20:17
已改。。。。。。。。。。。。。。。

老师,你的代码精简,将其中& Chr(13)回车符 删除,就正常显示了,否则就多了一个空白行,不动产号就显示隐藏了,谢谢老师的帮助。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-7 14:49 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wxxydl 发表于 2023-12-30 20:17
已改。。。。。。。。。。。。。。。

老师,你的代码投入应用,效果很好,但不便的是,每次要把多个登记簿文件复制到运行vba文件的根目录上,有点麻烦,能否实现选择磁盘挑选文件对话框来运作。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-2 14:04 , Processed in 0.043824 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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