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. python 冒泡排序的总结

    冒泡排序: 思路: 3 5 1 6 2 第一次:找到这些书中最大的一个,并把它放到最后 3.5找到大的数放到第二个位置1.5 5.1找到大的数放到第三个位置1.5.1 5.6找到大的数放到第四个位置 ...

  2. ajax请求头设置 | header 传token

    $('.w-entry-btn').on('tap',function(){ var urlAddress = '/api/address'; var valToken = JSON.parse(lo ...

  3. 解析分布式锁之Redis实现(二)

    摘要:在前文中提及了实现分布式锁目前有三种流行方案,分别为基于数据库.Redis.Zookeeper的方案,本文主要阐述基于Redis的分布式锁,分布式架构设计如今在企业中被大量的应用,而在不同的分布 ...

  4. Linux笔记 #07# 搭建机器学习环境

    环境: Debian 8.8 64位, 同样适用 win10 基本步骤: 安装 Python 安装必要的库 测试 一.安装 Python 延续之前的 搭建 Python 环境 选取折中版本 Pytho ...

  5. vijos & codevs 能量项链 - 动态规划

    描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于 ...

  6. C++ shared_ptr的用法

    一. http://www.cnblogs.com/welkinwalker/archive/2011/10/20/2218804.html 二.http://www.cnblogs.com/Tian ...

  7. liunx查询进程下的线程

    问题:一个进程下面会启动多个线程,通过top命令可以查出某个进程cpu,内存使用情况等信息,但无法知道是哪个线程. 解决方法: 1. 用jstack打印出给定的java进程ID的Java堆栈信息(js ...

  8. 解决Android Studio Conflict with dependency 'com.android.support:support-annotations'报错

    解决Android Studio Conflict with dependency 'com.android.support:support-annotations'报错 在Android Studi ...

  9. POJ1061 青蛙的约会(扩展欧几里得)题解

    Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事 ...

  10. 2、Python快速入门(0529)

    要素7:输入/输出 1.python解释器提供了3种标准文件对象,分别为标准输入.标准输出和标准错误,它们在sys模块中分别以sys.stdin.sys.stdout和sys.stderr形式提供: ...