20170609批量生成WORD合同
Sub NextSeven_CodeFrame()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Application.StatusBar = ">>>>>>>>程序正在运行>>>>>>>>" On Error GoTo ErrHandler Dim StartTime, UsedTime As Variant
StartTime = VBA.Timer
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Dim Wb As Workbook
Dim Sht As Worksheet
Dim oSht As Worksheet
Dim Rng As Range
Dim Arr As Variant
Dim EndRow As Long
Const HEAD_ROW As Long = 1
Const SHEET_NAME As String = "明细表"
Const START_COLUMN As String = "A"
Const END_COLUMN As String = "I" Dim Count As Long '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Set Wb = Application.ThisWorkbook
Set Sht = Wb.Worksheets(SHEET_NAME)
With Sht
EndRow = .Cells(.Cells.Rows.Count, 4).End(xlUp).Row
Set Rng = .Range(.Cells(HEAD_ROW + 1, START_COLUMN), .Cells(EndRow, END_COLUMN))
Arr = Rng.Value
End With Dim ModelFolder As String
Dim FileName As String
Dim FilePath As String
Dim NewName As String
Dim NewFolder As String
Dim NewPath As String
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'绑定
Dim wdApp As Word.Application
Dim OpenDoc As Word.Document
Set wdApp = New Word.Application
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Dim FindText As String
Dim RepText As String ModelFolder = Wb.Path & "\模板\"
NewFolder = Wb.Path & "\生成\" For i = LBound(Arr) To UBound(Arr) '##########################################
If i > 5 Then GoTo Here '控制输出几份,注释掉则不限制数量
'########################################
'>>>>>>>>>>>>>>>>>诉前财产保全申请书.docx
FileName = "诉前财产保全申请书.docx"
FilePath = ModelFolder & FileName
NewName = i & "-" & Arr(i, 2) & Arr(i, 3) & Arr(i, 4) & "-" & FileName
NewPath = NewFolder & NewName
'预先清除文件
On Error Resume Next
Kill NewPath
On Error GoTo 0
Set OpenDoc = wdApp.Documents.Open(FilePath)
With OpenDoc '逐个信息替换
With .Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "姓名"
.Replacement.Text = Arr(i, 2)
.Execute Replace:=wdReplaceAll
End With With .Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "身份证"
.Replacement.Text = Arr(i, 3)
.Execute Replace:=wdReplaceOne
End With With .Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "性别"
.Replacement.Text = Arr(i, 4)
.Execute Replace:=wdReplaceOne
End With With .Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "出生日期"
.Replacement.Text = Arr(i, 5)
.Execute Replace:=wdReplaceOne
End With With .Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "机构名称"
.Replacement.Text = Arr(i, 9)
.Execute Replace:=wdReplaceOne
End With With .Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "账户号"
.Replacement.Text = Arr(i, 7)
.Execute Replace:=wdReplaceOne
End With With .Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "冻结金额"
.Replacement.Text = Arr(i, 8)
.Execute Replace:=wdReplaceOne
End With With .Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "合同日期"
.Replacement.Text = Arr(i, 6)
.Execute Replace:=wdReplaceOne
End With '>>>>>>>>>>>>>>>>>>>>>>>>>
.SaveAs NewPath
.Close True
End With Next i Here:
wdApp.Quit '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
UsedTime = VBA.Timer - StartTime
MsgBox "本次耗时:" & Format(UsedTime, "0.000秒"), vbOKOnly, "Excel Studio" ErrorExit:
Set Wb = Nothing
Set Sht = Nothing
Set Rng = Nothing
Set wdApp = Nothing Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
Application.StatusBar = False
Exit Sub
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ErrHandler:
If Err.Number <> 0 Then
MsgBox Err.Description & "!", vbCritical, "Excel Studio"
'Debug.Print Err.Description
Err.Clear
Resume ErrorExit
End If
End Sub
20170609批量生成WORD合同的更多相关文章
- 代码批量生成WORD的遇到的问题及解决
好久没搞工具了,最近因为处理大规模公文处理单文档,自己写了个批量处理WORD的程序:在调试过程中,主要遇到两个问题 第一个是WORD的模板 数据很多,但是WORD模板只需要一个,将数据替换WORD里标 ...
- C# 利用WORD模板和标签(bookmark) 批量生成WORD
前言: 由于对C#操作WORD不熟悉,也就留下这么一篇水文,别吐糟...=_=||| 利用Microsoft.Office.Interop.Word (2003版也就11版)——因为部分客户端还是用O ...
- PHP将数据库数据批量生成word文档
<?php class word{ function start(){ ob_start(); echo '<html x ...
- Office Word文件批量生成软件
一.软件用途 如果Word文件模板固定,只是要素信息不同,则可以使用本软件批量生成Word文件. 软件下载地址(2020-12-6更新):https://files.cnblogs.com/files ...
- php 生成word的三种方式
原文地址 http://www.jb51.net/article/97253.htm 最近工作遇到关于生成word的问题 现在总结一下生成word的三种方法. btw:好像只要是标题带PHP的貌似点击 ...
- 根据指定Word模板生成Word文件
最近业务需要批量打印准考证信息 1.根据Table数据进行循环替换,每次替换的时候只替换Word中第一个Table的数据, 2.每次替换之后将Word中第一个Table数据进行复制,将复制Table和 ...
- PHP生成word的三种方式
摘要: 最近工作遇到关于生成word的问题 现在总结一下生成word的三种方法. btw:好像在博客园发表博客只要是标题带PHP的貌似点击量都不是很高(哥哥我标题还是带上PHP了),不知道为什么,估计 ...
- PHP生成word文档的三种实现方式
PHP生成word原理 利用windows下面的 com组件 利用PHP将内容写入doc文件之中 具体实现: 利用windows下面的 com组件 原理:com作为PHP的一个扩展类,安装过offic ...
- Excel批量转Word
平时的工作中,尤其是一些文职类工作中,常会遇到这样的问题: 我们有一个Excel文件,每一行都是一个人的信息,需要将每个人的信息填写到Word表格中:一个人,一张表,一个下午,真烦恼. 也是奇想突发, ...
随机推荐
- MySQL Crash Course #02# Chapter 3. 4 通配符. 分页
索引 查看表.文档操作 检索必须知道的两件事 数据演示由谁负责 通配符.非必要不用 检索不同的行 限制结果集.分页查找 运用数据库.表全名 命令后加分号对于很多 DBMS 都不是必要的,但是加了也没有 ...
- Unable to load the Wrapper's native library because none of the following files及解决方法
在有几个应用中,在启动的时候发现下列警告: The version of the script (3.5.29) doesn't match the version of this Wrapper ( ...
- QTQuick控件基础(1)
一.Item QtQuick所有的可视项目都继承自Item,它定义了可视化项目所有通用特性(x\y\width\height\anchors等)具体包括 1.作为容器 2.不透明性 没有设置opaci ...
- amin例子的简单研究
amin这个例子,使用了比较复杂高阶的qml技巧,但是也有局限性.下面分3个部分,分别是界面部分,算法部分和扩展部分,简单地对这个问题进行理解. 由衷感谢:http://amin-ahm ...
- Win32建立右键弹出菜单(PopMenu)
自定义右键菜单: #ifndef _CONTEXTMENU_H_ #define _CONTEXTMENU_H_ #include <windows.h> //动态菜单 #define I ...
- Java查找算法之二分查找
二分查找是一种查询效率非常高的查找算法.又称折半查找. 一.算法思想 有序的序列,每次都是以序列的中间位置的数来与待查找的关键字进行比较,每次缩小一半的查找范围,直到匹配成功. 一个情景:将表中间位置 ...
- python_实现发送邮件功能
#!/usr/bin/env python #-*- coding:utf-8 -*- from email import encoders from email.header import Head ...
- [js] - 关于js的排序sort
js的排序sort并不能一次排序好 function solution(nums){ return nums.sort(sortNumber); } function sortNumber(a, b) ...
- 抽象类的继承,接口的实现,接口类型数组的使用,根据instanceof判断(返回)是否该是哪一个类型,类型的强转.
总觉得之前第2处有点问题,果然. 还需要instanceof判定一下,然后还需要把数组Animal[]转为Pet的才有方法play()~~~!
- HDU 5876 Sparse Graph(补图中求最短路)
http://acm.hdu.edu.cn/showproblem.php?pid=5876 题意: 在补图中求s到其余各个点的最短路. 思路:因为这道题目每条边的距离都是1,所以可以直接用bfs来做 ...