(完整版)用VBA实现批量修改多个Word文档内容
更新时间:2023-04-13 19:16:01 阅读量: 实用文档 文档下载
用vba实现多个word文档里的多个内容进行批量更改
说明:本方法思路是借用excel的表格对多个内容进行界面管理,再用excel的vba调用word文件进行查找更改。
使用方法:
将以下内容(不包括本句)复制进excel的宏模块,保存,然后excel界面设置如下:
输入数据,运行宏就可以了。(若需要现成的excel文件,请单独下载)
注:版权所有严禁转载
Sub 更新录入()
Dim a, b, zhs
zhs = Sheet1.Range("c" & Rows.Count).End(xlUp).Row
p = ThisWorkbook.Path & "\"
If Sheet1.Range("c5").Value = "" Then
wjj = "新文书"
Else
wjj = Sheet1.Range("c5").Value
End If
If zhs < 3 Then
CreateObject("Wscript.shell").popup "没有数据可以录入,请输入数据后再点击生成新文档!", 1, "提示!", 0 + 32
Exit Sub
End If
If Sheet1.Range("F1") <> "修改本级文档" Then
On Error Resume Next
Set ofso = CreateObject("Scripting.FileSystemObject") '生成文件夹
ofso.CreateFolder (p & wjj)
On Error GoTo 0 '替换本级或生成新的
ElseIf MsgBox("是否替换本级文件夹内文档?", vbYesNo, "提示") = vbNo Then: Exit Sub Else
wjj = ""
End If
Application.ScreenUpdating = False
With CreateObject("Word.Application")
.Visible = False
f = Dir(p & "*.doc")
Do While f <> ""
i = i + 1
.Documents.Open p & f
For b = 3 To zhs
If Sheet1.Range("C" & b) <> "" Then '有数据才替换
.Selection.HomeKey Unit:=6 ' 到文档开始地方
Do While .Selection.Find.Execute(Sheet1.Range("B" & b)) '查找s
.Selection.Font.Color = wdColorAutomatic '字体颜色
.Selection.Text = Sheet1.Range("C" & b) '替换
.Selection.MoveRight Unit:=1, Count:=1 '右移
Loop
End If
Next
.ActiveDocument.SaveAs p & wjj & "\" & f '另存为。。。
.Documents.Close False
f = Dir
Loop
.Quit
End With
Application.ScreenUpdating = True
If Sheet1.Range("F1") = "修改本级文档" Then
MsgBox ("完成!!!共修改" & i & "个文档。联系QQ:136941975""提示") '直接退出
Exit Sub
End If
ms = MsgBox("共修改" & i & "个文档。联系QQ:136941975" & vbCrLf & "是否保存数据?" & vbCrLf & "点击“是”保存数据;点击“否”取消保存。", vbYesNo + vbInformation, "提示")
If ms = vbNo Then
ActiveWorkbook.Save
ActiveWorkbook.SaveAs Filename:= _
p & wjj & "\" & "001信息录入.xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Exit Sub
End If
数据保存_A
ActiveWorkbook.Save
ActiveWorkbook.SaveAs Filename:= _
p & wjj & "\" & "001信息录入.xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
Sub 数据提取_A()
Dim ccsj As Range
If Sheet1.Range("F2") = "" Then
CreateObject("Wscript.shell").popup "请选择已存数据!", 1, "提示!", 0 + 32
Exit Sub
End If
zhs = Sheet1.Range("c" & Rows.Count).End(xlUp).Row
If zhs > 3 Then
ms = MsgBox("已有新录入数据,是否覆盖?" & vbCrLf & vbCrLf & "点击“是”覆盖;点击“否”取消。", vbYesNo + vbInformation, "提示")
If ms = vbNo Then
Exit Sub
End If
End If
Set ccsj = Sheet2.Range("A:A").Find(what:=Sheet1.Range("F2"), SearchOrder:=xlByColumns) '查找f2所在位置
sjh = ccsj.Row '行
sjzl = Sheet2.Cells(sjh, 256).End(xlToLeft).Column '总数量,列
For hz = 1 To sjzl
Sheet1.Range("C" & hz + 2) = Sheet2.Cells(sjh, hz)
Next
End Sub
Sub 数据保存_A()
Dim k, n, o As Long, zhs, hz
zhs = Sheet1.Range("c" & Rows.Count).End(xlUp).Row
Set Rng = Sheet2.Range("A:A").Find(what:=Sheet1.Range("C3"), SearchOrder:=xlByColumns)
If Not Rng Is Nothing Then
ms = MsgBox("该案号已经存,是否更新数据?" & vbCrLf & vbCrLf & "点击“是”更新数据;点击“否”取消保存。", vbYesNo + vbInformation, "提示")
If ms = vbNo Then
Exit Sub
Else
n = Rng.Row '确定已存数据行
For hz = 3 To zhs
If Sheet1.Range("C" & hz) <> "" Then
Sheet2.Cells(n, hz - 2) = Sheet1.Range("C" & hz)
End If
Next
With Sheet2.Cells '格式缩小字体填充
.WrapText = False
.ShrinkToFit = True
End With
CreateObject("Wscript.shell").popup "数据更新成功!", 1, "提示!", 0 + 32 Exit Sub
End If
End If
f1 = Sheet2.Range("A" & Rows.Count).End(xlUp).Row + 1
For hz = 3 To zhs
If Sheet1.Range("C" & hz) <> "" Then
Sheet2.Cells(f1, hz - 2) = Sheet1.Range("C" & hz)
End If
Next
With Sheet2.Cells '格式缩小字体填充
.WrapText = False
.ShrinkToFit = True
End With
CreateObject("Wscript.shell").popup "数据保存成功!", 1, "提示!", 0 + 32 End Sub
正在阅读:
(完整版)用VBA实现批量修改多个Word文档内容04-13
最新人教新目标八年级英语下册八级下册Unit8SectionAHave_you_read_Treasure_Island_yet (1)06-08
【完美排版】甘肃省嘉峪关市一中高一上学期期中考试数学试题【含答案】05-29
社会学试题库01-19
安徒生的简介资料05-31
高中学习方法学习习惯主题班会08-28
电大市场营销案例分析题答案03-06
树林02-09
我懂得了一个道理作文400字07-11
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 整版
- 批量
- 多个
- 修改
- 实现
- 文档
- 内容
- Word
- VBA
- 论数学教学中如何培养学生创造性思维
- 股票挂钩票据及其在融券券源管理中的应用
- 21世纪人才网上海市居住证积分管理系统登录密码
- 定责、定岗、定编、定员、定额、定薪HR指导手册【最新版】
- 2022年内蒙古包头中考地理一轮复习课时训练:第09课时 日本 东南
- 2015-2022学年八年级物理上册9月月考试题
- 北京市密云县石城中学九年级第一学期期末考试英语试卷Word版
- 2022年辽宁省沈阳市中考物理试卷解析版
- 新北师大版五年级数学下册《长方体的认识》教案
- 08级材化材料科学基础复习纲要
- Unit 4 Step for creating a new company or adding an online p
- 人教统编版(部编版)三年级下册语文第1单元第4课《昆虫备忘录》同
- 人教部编版三年级下册语文一课一练同步练习4《昆虫备忘录》(有答
- 高中化学重要知识点详细总结
- 2012届高考化学第一轮复习全套试卷(共75套)
- 英语翻译中级口译-10
- 2011公路工程沥青及试验规程新增加部分内容
- 语文七年级上 综合性学习:这就是我教案
- 建筑施工现场风险点控制管理标准(最新版)
- 线上营销活动方案范本(完整版)