首先将word模板中需要填写excel中数据的空白处用自己独特的字符串标记,比如   数据001  什么的。如下图:

这样,就可以用vba搜寻这些自己独特的标记来根据excel内容填充word了。

第一个填好的如下图:

而excel中数据如下图:

然后代码如下:

  Sub 生成Word文件_Click()
Dim Word对象 As New Word.Application, 当前路径, 导出文件名, 导出路径文件名, i, j
Dim Word表格行号, Word表格列号, Excel数据表列号
Dim Str1, Str2
当前路径 = ThisWorkbook.Path
B = InputBox("请输入数据开始行", "提示")
c = InputBox("请输入数据结束行", "提示") 判断 =
For i = B To c
导出文件名 = "通知书"
FileCopy 当前路径 & "\通知书.doc", 当前路径 & "\" & 导出文件名 & "(" & Sheets("统计表").Range("c" & i) & ").doc" '可以将Sheets("1").Range("B" & i)换成其他数据
导出路径文件名 = 当前路径 & "\" & 导出文件名 & "(" & Sheets("统计表").Range("c" & i) & ").doc" '可以将Sheets("1").Range("B" & i)换成其他数据
With Word对象
.Documents.Open 导出路径文件名
.Visible = False
With .Selection.Find
For x = To Step - '从大到小,防止字符串序号低位与高位串扰,填写数据即excel表总列数
Str1 = "数据" & Format(x, "")
'MsgBox "str1" & Str1
Str2 = Sheets("统计表").Cells(i, x)
.Text = Str1 '查找到指定字符串
.Replacement.Text = Str2 '替换字符串
.Execute Replace:=wdReplaceAll '全部替换
Next x
End With .Selection.WholeStory '全部选中
.Selection.Font.Color = wdColorAutomatic '字符为自动颜色
End With
Word对象.Documents.Save
Word对象.Quit
Set Word对象 = Nothing
' If i = c Then
' MsgBox "已输出到 Word 文件!", 0 + 48 + 256 + 0, "提示:"
' End If Next i
If 判断 = Then
i = MsgBox("已输出到 Word 文件!", + + + , "提示:")
End If End Sub

这个excelhome里给的一个代码。挺好的,就是中文变量挺多的。

将excel中的数据填入word模板中-VBA的更多相关文章

  1. Python中 将数据插入到Word模板并生成一份Word

    搬运出处: https://blog.csdn.net/DaShu0612/article/details/82912064

  2. C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二)

    本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (一) 上个帖子主要是讲了如何读取Excel,本帖主要是讲述读取的Excel数据是如何序列化成二进制的,考虑到现在在手游中 ...

  3. excel中的数据粘贴不全到plsql中,excel 粘贴后空白,Excel复制粘贴内容不全

    http://zhidao.baidu.com/link?url=pHZQvfWJzI-lQjl4uP86q4GLcpYHu4o-fdjiYegJS0Cy5HEq5oz0YrUye3iHjmv5CJ3 ...

  4. C# Unity游戏开发——Excel中的数据是如何到游戏中的 (三)

    本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二) 前几天有点事情所以没有继续更新,今天我们接着说.上个帖子中我们看到已经把Excel数据生成了.bin的文件,不过其 ...

  5. C# Unity游戏开发——Excel中的数据是如何到游戏中的 (四)2018.4.3更新

    本帖是延续的:C# Unity游戏开发--Excel中的数据是如何到游戏中的 (三) 最近项目不算太忙,终于有时间更新博客了.关于数据处理这个主题前面的(一)(二)(三)基本上算是一个完整的静态数据处 ...

  6. POI往word模板中写入数据

    转: POI往word模板中写入数据 2018年03月24日 16:00:22 乄阿斗同學 阅读数:2977  版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...

  7. sql之将一个表中的数据注入另一个表中

    sql之将一个表中的数据注入另一个表中 需求:现有两张表t1,t2,现需要将t2的数据通过XZQHBM相同对应放入t1表中 t1: t2: 思路:left join 语句: select * from ...

  8. hbase使用MapReduce操作4(实现将 HDFS 中的数据写入到 HBase 表中)

    实现将 HDFS 中的数据写入到 HBase 表中 Runner类 package com.yjsj.hbase_mr2; import com.yjsj.hbase_mr2.ReadFruitFro ...

  9. 使用spark将内存中的数据写入到hive表中

    使用spark将内存中的数据写入到hive表中 hive-site.xml <?xml version="1.0" encoding="UTF-8" st ...

随机推荐

  1. 关于gcc、make和CMake的区别

    CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要 ...

  2. netcore sqlserver linq contains生成的sql语句不是使用like而是charIndex

    在ef中使用linq调用了contains,结果怎么都查不到值,打开sqlserver profiler 发现生成的sql语句不是使用like...而是CharIndex 参考文档:https://s ...

  3. gcc编译器如何生成指定的文件名

    放哪里都可以,进到文件所放路径,用gcc编译器编译.如:gcc -o test test.c 就是说把test.c文件编译链接生成test可执行程序.在linux下生成test.out,然后再命令:. ...

  4. 4.Mysql中的运算符

    4.Mysql中的运算符运算符用来连接表达式.运算符包括:算术运算符.比较运算符.逻辑运算符.位运算符. 4.1 算术运算符算术运算符包括加(+).减(-).乘(*).除(/).取模(%,MOD) 5 ...

  5. nginx 的 负载均衡

    一.正向代理和反向代理 1.正向代理 正向代理类似一个跳板机,代理访问外部资源. 正向代理是客户端和目标服务器之间的代理服务器(中间服务器).为了从指定的服务器取得内容,客户端向代理服务器发送一个请求 ...

  6. iOS.AutomatePackageBuild.0-Resource-List

    1. xcodebuild xcodebuild: 构建Xcode project和workspace. 2. TN2339: Building from the Command Lline with ...

  7. iOS.C

    iOS开发中C语言的应用: 1. NS_ENUM & NS_OPTIONS http://nshipster.com/ns_enum-ns_options/

  8. shell脚本${}、##和%%使用范例

    file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值: ${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.fi ...

  9. dell E6400笔记本 centos7 安装无线网卡

    1.下载  驱动:http://download.csdn.net/detail/nj4506/9752842 2.解压: make  make install 3.将wk.ko拷贝到 /lib/mo ...

  10. Luogu 4556 雨天的尾巴 - 启发式合并线段树

    Solution 用$col$记录 数量最多的种类, $sum$记录 种类$col$ 的数量. 然后问题就是树上链修改, 求 每个节点 数量最多的种类. 用树上差分 + 线段树合并更新即可. Code ...