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. M2C的概念

    M2C即Manufacturers to Consumer(生产厂家对消费者),生产厂家(Manufacturers)直接对消费者(Consumers)提供自己生产的产品或服务的一种商业模式,特点是流 ...

  2. 电脑异常断电,IDEA崩溃

    今天电脑突然断电,当时正好开着idea,等了半天无果,只能强行关机重启.重启之后,那么问题来了:重新打开idea报错java.lang.AssertionError:upexpected conten ...

  3. Python Web学习笔记之IGMP和ICMP的差别

    理论技术:TCP/IP协议族(四)ICMP和IGMP协议! 应该先说IP协议的,后来考虑到层次性,还是先把支撑协议介绍完在细说IP!因为IP是我的最爱也是我的痛!呵呵! 一.ICMP协议 为什么要使用 ...

  4. Hadoop MapReduce执行过程实例分析

    1.MapReduce是如何执行任务的?2.Mapper任务是怎样的一个过程?3.Reduce是如何执行任务的?4.键值对是如何编号的?5.实例,如何计算没见最高气温? 分析MapReduce执行过程 ...

  5. Python3.x(windows系统)安装requests库

    Python3.x(windows系统)安装requests库 cmd命令: pip install requests 执行结果:

  6. Python3基础 delattr 删除对象的属性

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  7. ReadResolve方法与序列化

    使用枚举实现的单例模式,不但可以防止利用反射强行构建单例对象,而且可以在枚举类对象被反序列化的时候,保证反序列的返回结果是同一对象. 对于其他方式实现的单例模式,如果既想要做到可序列化,又想要反序列化 ...

  8. Large Division(大数)题解

    Given two integers, a and b, you should check whether a is divisible by b or not. We know that an in ...

  9. HDU 3065 病毒侵袭持续中(AC自动机(每个模式串出现次数))

    http://acm.hdu.edu.cn/showproblem.php?pid=3065 题意:求每个模式串出现的次数. 思路: 不难,把模板修改一下即可. #include<iostrea ...

  10. js delete可以删除对象属性及变量

    ,对象属性删除 function fun(){ this.name = 'mm'; } var obj = new fun(); console.log(obj.name);//mm delete o ...