Public Sub SameFolderGather()
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 OpenWb As Workbook
Dim Opensht As Worksheet
Const SHEET_INDEX = 1
Const OFFSET_ROW As Long = 1 Dim FolderPath As String
Dim FileName As String
Dim FileCount As Long Dim ModelPath As String
Dim NewFolder As String
Dim NewFile As String
Dim NewPath As String '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Set Wb = Application.ThisWorkbook '工作簿级别
Set Sht = Wb.Worksheets("汇总")
Sht.UsedRange.Offset(1).Clear
FolderPath = Wb.Path & "\Excel表格\"
ModelPath = Wb.Path & "\Word模板\调查统计表空表.doc" NewFolder = Wb.Path & "\Word表格\"
'绑定
Dim wdApp As Object
Dim wdTb As Object
Dim wdDoc As Object
Set wdApp = CreateObject("Word.Application") FileCount = 0
FileName = Dir(FolderPath & "*.xls*")
Do While FileName <> ""
If FileName <> ThisWorkbook.Name Then
FileCount = FileCount + 1 NewFile = Split(FileName, ".")(0) & ".doc"
NewPath = NewFolder & NewFile Set OpenWb = Application.Workbooks.Open(FolderPath & FileName)
With OpenWb
Set Opensht = OpenWb.Worksheets(SHEET_INDEX) With Opensht
Dim Arr(1 To 17) As String
tx = .Range("A2").Text
Arr(1) = Replace(Split(tx, "区")(0), " ", "")
Arr(2) = Replace(Split(Split(tx, "区")(1), "社")(0), " ", "")
Arr(3) = .Range("B3").Value
Arr(4) = .Range("D3").Value
Arr(5) = .Range("B4").Value
Arr(6) = .Range("D4").Value
Arr(7) = .Range("F4").Value
Arr(8) = .Range("B5").Value
Arr(9) = .Range("E5").Value
Arr(10) = .Range("B6").Value
Arr(11) = .Range("B7").Value
Arr(12) = .Range("B8").Value
Arr(13) = .Range("B9").Value
Arr(14) = .Range("B10").Value
Arr(15) = .Range("B11").Value
tx = .Range("A14").Text
Arr(16) = Replace(Split(Split(tx, "填表日期")(0), ":")(1), " ", "")
Arr(17) = Replace(Split(tx, "填表日期:")(1), " ", "") Sht.Cells(FileCount + 1, 1).Resize(1, 17).Value = Arr Set wdDoc = wdApp.Documents.Open(ModelPath)
Set wdTb = wdDoc.Tables(1)
With wdTb
.Cell(1, 2).Range.Text = Arr(3) '姓名
.Cell(1, 4).Range.Text = Arr(4) '住址
.Cell(2, 2).Range.Text = Arr(5) '性别
.Cell(2, 4).Range.Text = Arr(6) '出生
.Cell(2, 6).Range.Text = Arr(7) '年龄
.Cell(3, 2).Range.Text = Arr(8) '手机
.Cell(3, 4).Range.Text = Arr(9) '固话
.Cell(4, 2).Range.Text = Arr(10) '子女手机
.Cell(5, 2).Range.Text = Arr(11) '家庭
.Cell(6, 2).Range.Text = Arr(12) '经济
.Cell(7, 2).Range.Text = Arr(13) '健康
.Cell(8, 2).Range.Text = Arr(14) '服务
.Cell(9, 2).Range.Text = Arr(15) '服务时间
End With
wdDoc.SaveAs NewPath
wdDoc.Save
wdDoc.Close End With .Close False
End With
End If
FileName = Dir
Loop wdApp.Quit '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
UsedTime = VBA.Timer - StartTime
MsgBox "本次耗时:" & Format(UsedTime, "0.000秒"), vbOKOnly, "NextSeven Excel Studio QQ嘻嘻哈哈" ErrorExit:
Set Wb = Nothing
Set Sht = Nothing
Set OpenWb = Nothing
Set Opensht = Nothing
Set Rng = Nothing Set wdApp = Nothing
Set wdDoc = Nothing
Set wdTb = 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, "NextSeven Excel Studio QQ嘻嘻哈哈"
'Debug.Print Err.Description
Err.Clear
Resume ErrorExit
End If
End Sub

  

20170714xlVba多个工作簿转多个Word文档表格的更多相关文章

  1. 打开word文档时提示“Microsoft Office Word已停止工作”

    我的电脑(Win10)有Office 2003和2013两个版本,可能由于之前超长待机等原因导致word 2003的文件(.doc)不能正常打开,没次都会提示“Microsoft Office Wor ...

  2. 如何解决excel工作簿保护密码

    自己的excel文档设置了“保护工作簿”密码,但是密码又忘记了,怎么办? 如果你会编写代码,那么这个问题非常好解决.Excel内置功能不能解决的事儿,自己编写一段代码或许就可以搞定了. 第一步,大家已 ...

  3. 使用SPIRE.XLS来创建Excel 工作簿

               使用SPIRE.XLS来创建Excel 工作簿     概要 最近在研究 .NET 控件,使用这些控件在程序中可以快速低成本实现功能. 在这一篇中我们使用的控件是Spire.XL ...

  4. 在VBA中新建工作簿

    用程序计算数据,得到不同公司.不同项目的数据结果,最终还要将每个公司的数据结果放在各自的单独文件中.这就需要在vba中新建.保存excel文件.掌握几个东西就能很熟练了:1.要想保存在当前目录下,需要 ...

  5. POI教程之第二讲:创建一个时间格式的单元格,处理不同内容格式的单元格,遍历工作簿的行和列并获取单元格内容,文本提取

    第二讲 1.创建一个时间格式的单元格 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 Sheet sheet=wb.createSheet("第一个 ...

  6. POI教程之第一讲:创建新工作簿, Sheet 页,创建单元格

    第一讲 Poi 简介 Apache POI 是Apache 软件基金会的开放源码函数库,Poi提供API给java程序对Microsoft Office格式档案读和写的功能. 1.创建新工作簿,并给工 ...

  7. 我们无法找到服务器加载工作簿的数据模型"的 SharePoint 网站,当您刷新 Excel 2013 工作簿中的数据透视表时出错

    假定您使用 Analysis Services 源在 Microsoft Excel 2013 中创建数据透视表.将 Excel 工作簿上载到 Microsoft SharePoint 网站中.当您尝 ...

  8. NPOI导出Excel表功能实现(多个工作簿)(备用)

    Excel生成操作类: 代码 using System; using System.Collections.Generic; using System.Text; using System.IO; u ...

  9. 在Excel里如何将多个工作簿合并到一个工作簿中

    在Excel里如何将多个工作簿合并到一个工作簿中 当你必须将多个工作簿合并到一个工作簿时,你遇到过麻烦吗?最让人心烦的就是需要合并的工作簿里有很多张工作表.有人能推荐方法解决这个问题吗? 利用VBA ...

随机推荐

  1. python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码

    python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...

  2. 5+App使用定位

    1.定位方法     5+App定位方法:5+ API中的Geolocation模块     Geolocation目前支持h5内置的定位,百度,高德.h5内置定位支持wgs84坐标系:百度支持gcj ...

  3. .NET,ASP.NET,ASP.NET MVC 之间的区别

    https://www.cnblogs.com/wwym/p/5555772.html

  4. String和StringBuffer和StringBuilder

    String类 Java语言中用String类代表不可变的字符串,它是由任意多个字符组成的序列.程序中需要存储大量的信息时,一般都用String对象. 1.字符串初始化 JavaSE API为字符串对 ...

  5. MySQL Crash Course #11# Chapter 20. Updating and Deleting Data

    INDEX Updating Data The IGNORE Keyword Deleting Data Faster Deletes Guidelines for Updating and Dele ...

  6. CSS实现三角形、梯形、平行四边形、圆形、椭圆形、对话框、自适应正方形

    本文篇幅较长,希望能坚持看完,转载请注明出处,如果觉得好文请给个赞吧 CSS实现梯形 CSS实现三角形和梯形主要是依靠border是梯形的特性来做的,有点像相框的那种感觉. 首先我们先给一个正方形设置 ...

  7. VC++ 文件和应用程序关联,默认图标不显示问题

  8. [SpringBoot] - 一份笔记

    一. Spring Boot 入门 1. Spring Boot 简介 简化Spring应用开发的一个框架; 整个Spring技术栈的一个大整合; J2EE开发的一站式解决方案; 2. 微服务 201 ...

  9. WebApi——json返回多了 k_BackingField

    产生原因: model类添加了    [System.Serializable] 解决方案: xxxxx.WebApi\App_Start\WebApiConfig.cs的Register函数中添加如 ...

  10. Ubuntu 14.04 禁用ipv6

    参考: 关闭IPV6,ubuntu 14.04 Ubuntu 14.04 禁用ipv6 1.检查ipv6是否开启: cat /proc/sys/net/ipv6/conf/all/disable_ip ...