把EXCEL数据写入WORD文档A.doc
- 文档编号:1225023
- 上传时间:2023-04-30
- 格式:DOC
- 页数:7
- 大小:25KB
把EXCEL数据写入WORD文档A.doc
《把EXCEL数据写入WORD文档A.doc》由会员分享,可在线阅读,更多相关《把EXCEL数据写入WORD文档A.doc(7页珍藏版)》请在冰点文库上搜索。
VBA在EXCEL中操作WORD表格之七第7页共7页
把EXCEL工作表数据用VBA写入WORD文档
编辑:
madmlwt
1.逐个单元格数据写入WORD表格
【问题要求】
⑴新建“工程订单.doc”,保存到当前操作的EXCEL文件位置。
⑵新建“工程订单.doc”文档中,第一段落写入“工程订单”,第二段落写入“单位:
新建装饰有限公司”,第三段落插入一个与当前工作表中数据行列数完全相同的表格。
⑶把当前工作表中数据(包括标题行)按单元格读取方式逐个写入WORD表格中。
⑷格式设置
第一段落黑体、18号、水平居中;
第二段落宋体、14号、水平居中;
表格在页面中水平居中;
表格数据宋体、10号、左对齐;
标题行加粗、水平居中。
【代码】
SubEXCEL保存为WORD表格数据()
Application.ScreenUpdating=False'关闭屏幕刷新
开始时间=Timer'程序运行开始时间(秒)
hs=ActiveSheet.UsedRange.Rows.Count'当前工作表数据行数
ls=ActiveSheet.UsedRange.Columns.Count'当前工作表数据列数
wjM="工程订单"
myFile=ActiveWorkbook.Path&"\"&wjM&".doc"'保存的文件及路径
OnErrorResumeNext'出现错误跳到下一行
KillmyFile'删除文件
OnErrorGoTo0'不进行错误处理
Setwd=CreateObject("Word.Application")'定义一个Word对象变量
Withwd
.Documents.Add'创建一个新的Word文档
With.ActiveDocument.Paragraphs
(1).Range'当前活动文档中
.InsertParagraphBefore'在指定的所选内容或区域前插入一个新段落
.InsertBefore"工程订单"'写入新段落内容
.Font.Name="黑体"'字体
.Font.Size=18'字号
.ParagraphFormat.Alignment=1'水平居中
EndWith
With.ActiveDocument.Paragraphs
(2).Range
.InsertAfter"单位:
新建装饰有限公司"
.Font.Name="华文新魏"
.Font.Size=14
.ParagraphFormat.Alignment=1
EndWith
.ActiveDocument.Paragraphs
(2).Range.InsertParagraphAfter'在第二段后面插入一个新的段落
.ActiveDocument.Paragraphs(3).Range.Select'选中第三段落
.ActiveDocument.Tables.AddRange:
=.Selection.Range,NumRows:
=hs,NumColumns:
=ls'插入hs行ls列表格
With.ActiveDocument.Tables
(1)'WORD表格
Forh=1Tohs'从第一行循环到hs行
Forl=1Tols'从第1列循环到ls列
.Cell(h,l).Range=ActiveSheet.Cells(h,l)'把当前工作表单元格数据写入WORD表格
With.Cell(h,l).Range'单元格字体设置
.Font.Name="宋体"'字体
.Font.Size=10'字号
.Font.Bold=True'加粗
Ifh>1Then.Font.Bold=False'如果表格行不是第一行则字形不加粗
EndWith
Nextl
Nexth
EndWith
.Selection.Tables
(1).AutoFitBehavior
(1)'根据内容自动调整表格
.Selection.Tables
(1).Rows
(1).HeadingFormat=9999998'标题行重复
.ActiveDocument.Tables
(1).Rows.Alignment=1'表格水平居中
.Selection.Tables
(1).Range.ParagraphFormat.Alignment=3'所有行数据左对齐
.Selection.Tables
(1).Rows
(1).Range.ParagraphFormat.Alignment=1'标题行居中
.ActiveDocument.SaveAsmyFile'保存新建Word文档
.Quit'关闭新建文档窗口
EndWith
Setwd=Nothing
MsgBoxChr(10)&"成功创建一个WORD表格—"&wjM_
&Chr(10)&Chr(10)&"共用时"&Timer-开始时间&"秒",,"Exc_To_Word"
Application.ScreenUpdating=False'关闭屏幕刷新
EndSub
说明:
逐个单元格数据写入WORD表格,就是工作表中的数据单元格,对应已经创建的WORD表格单元格,逐个写入数据,这是EXCEL数据保存为WORD表格最基本、常规的操作方法。
把EXCEL数据保存为WORD表格数据,基本思路就是先写入数据再设置格式。
上面代码在逐个单元格写入数据过程中,对单元格进行了字体格式设置,如果是庞大数据的写入,可能会降低写入速度。
所以最好是把数据完全写入后对表格整体进行所有格式设置。
2.当前工作表数据复制到WORD文档
【问题要求】
把被操作的EXCEL当前工作表数据复制粘贴到新建的WORD文档。
新建WORD文档“清单.doc”,与被操作的EXCEL文件保存在相同位置。
新建WORD文档格式:
第一段落为表格总标题名“复制EXCEL数据粘贴到新建WORD文档”、第二段落为作者或者单位名称“作者:
老顽童”、第三段落粘贴复制的EXCEL数据表格。
第一段落黑体、18号、加粗、居中。
第二段落华文新魏、14号、居中。
表格数据标题行宋体、12号、加粗。
表格在页面中水平居中、表格跨页则标题行重复、表格根据内容自动调整列宽。
【代码】
Subexcel数据复制粘贴到word()
Application.ScreenUpdating=False'关闭屏幕刷新
qsT=Timer'开始时间
ActiveSheet.UsedRange.Copy'复制已经使用的数据区域
wjM="清单"'文件名称
myFile=ThisWorkbook.Path&"\"&wjM&".doc"'保存的文件及路径
OnErrorResumeNext'出现错误跳到下一行
KillmyFile'删除文件
OnErrorGoTo0'不进行错误处理
Setwd=CreateObject("word.application")'创建WORD对象
wd.Documents.Add.SaveAsFilename:
=myFile'新建一个WORD文件并保存
Withwd.ActiveDocument.Paragraphs
(1).Range'当前活动文档中第一段
.InsertParagraphBefore'左边(或前)插入一个新段落
.InsertBefore"复制EXCEL数据粘贴到新建WORD文档"'写入新段落内容
EndWith
wd.ActiveDocument.Paragraphs
(1).Range.InsertAfter"作者:
老顽童"'第一段右边插入新段落
wd.ActiveDocument.Paragraphs
(2).Range.InsertParagraphAfter'在第二段后面插入一个新的段落
wd.ActiveDocument.Paragraphs(3).Range.Select'选中第三段落
wd.Selection.PasteExcelTableFalse,True,False'粘贴复制的EXCEL表格
Withwd.ActiveDocument.Paragraphs
(1).Range'第一段文本格式设置
.ParagraphFormat.Alignment=1'水平居中
.Font.Size=18'字号
.Font.Name="黑体"'字体
.Font.Bold=True'加粗
EndWith
Withwd.ActiveDocument.Paragraphs
(2).Range'第二段文本格式设置
.ParagraphFormat.Alignment=1
.Font.Size=14
.Font.Name="华文新魏"
EndWith
Withwd.Selection.Tables
(1)
.AutoFitBehavior
(1)'根据内容调整表格列宽
.Rows
(1).HeadingFormat=9999998'标题行重复
.Rows.Alignment=1'表格水平居中
With.Rows
(1).Range
.Font.Size=12'字号
.Font.Name="宋体"'字体
.Font.Bold=True'加粗
EndWith
EndWith
wd.ActiveDocument.Save'保存修改
wd.ActiveDocument.Close'关闭文档
wd.Quit'关闭WORD程序
SetmyRange=Nothing'释放内存
Setadoc=Nothing'释放内存
Setwd=Nothing'释放内存
Application.CutCopyMode=False'撤销复制状态
MsgBoxChr(10)&"成功地把当前EXCEL数据复制粘贴到WORD文档"_
&Chr(10)&Chr(10)&"共计用去时间"&Timer-qsT&"秒",,"excel数据复制粘贴到word"
Application.ScreenUpdating=False'关闭屏幕刷新
EndSub
说明:
把EXCEL数据保存为WORD表格,方法多样。
这里尝试了二种方法,一是按单元格逐个读写、二是把整个EXCEL数据表格复制粘贴到新建的WORD文档。
总的来说,第一种方法速度最慢,但却是EXCEL数据写入WORD的最基本方法。
下一篇,我们将会尝试把EXCEL数据保存为WORD表格的第三种方法——先把工作表数据逐行写入WORD文档后再将其转换成表格。
此法对于大数据量的EXCEL数据写入WORD文档,不失为一种行之有效的快速之法!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EXCEL 数据 写入 WORD 文档