资源描述:
《按单元格读取WORD表格数据.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、VBA在EXCEL中操作WORD表格之六第6页共6页按单元格读取WORD表格数据编辑:madmlwt1.按单元格读取表格数据到当前工作表【问题】与被操作的工作簿保存在相同位置的文件夹“WORD表格”中的文档“工程订单.doc”,如下图所示:把表格中的数据从“序号”单元格开始逐个单元格读取到被操作的EXCEL工作簿的当前工作表A1开始的单元格区域。【代码1】Sub逐个单元格读取WORD表格数据()Application.ScreenUpdating=False'关闭屏幕刷新开始时间=Timer'秒wjM=ThisW
2、orkbook.Path&"WORD表格工程订单.doc"ActiveSheet.Cells.ClearContents'清除表中已有的数据内容SetwDoc=CreateObject(wjM)'定义Word对象SetwTable=wDoc.Tables(1)'定义表格对象hs=wTable.Rows.Count'计算表格总行数ls=wTable.Columns.Count'计算表格总列数Fori=1Tohs'从表格第1行循环到最后一行Forj=1Tols'从表格第1列循环到最后一列x=wTable.Cell
3、(i,j).Range.Text'单元格对象(包含回车符)VBA在EXCEL中操作WORD表格之六第6页共6页ActiveSheet.Cells(i,j)=Left(x,Len(x)-1)'把去掉回车符后的文本写入EXCEL单元格NextjNextiwDoc.Close'关闭文档SetwTable=Nothing'释放表格对象变量存储空间SetwDoc=Nothing'释放文档对象变量存储空间ActiveSheet.Cells.EntireColumn.AutoFit'自动调整列宽MsgBoxChr(10)&"成
4、功读取文件"&Dir(wjM)&"中表格数据到当前工作表"_&Chr(10)&Chr(10)&"读取数据共用"&Timer-开始时间&"秒",,"逐个单元格读取WORD表格数据"Application.ScreenUpdating=False'关闭屏幕刷新EndSub说明:写入EXCEL中数据保持原表格中数据格式,所有数据都是文本格式,不能进行计算。【代码2】Sub逐个单元格读取WORD表格数据()Application.ScreenUpdating=False'关闭屏幕刷新开始时间=Timer'秒wjM="工程
5、订单"docM=ThisWorkbook.Path&"WORD表格"&wjM&".doc"'被引用的DOC文件IfDir(docM)=wjM&".doc"Then'如果指定引用的文件存在ActiveSheet.Cells.ClearContents'清除当前工作表中所有数据内容SetwdApp=CreateObject(docM)'定义一个Word对象变量VBA在EXCEL中操作WORD表格之六第6页共6页WithwdApp.Tables(1)'打开的WORD文件第一个表格hs=.Rows.Count'表格的
6、行数ls=.Columns.Count'表格的列数Forh=1Tohs'从第1行循环到最后一行Forl=1Tols'从第1列循环到最后一列Ifl=1Then'第1列设置为文本格式ActiveSheet.Cells(h,l).NumberFormatLocal="@"ActiveSheet.Cells(h,l)=Replace(.Cell(h,l).Range.Text,Chr(13)&Chr(7),"")'WORD表格中单元格字符去掉回车符和黑加点的数据写入工作表单元格(Che$(13)=Chr(13))Else
7、Ifl>1Then'第1列后的列只读取数据值ActiveSheet.Cells(h,l)=Replace(.Cell(h,l).Range.Text,Chr(13)&Chr(7),"")'WORD表格中单元格字符去掉回车符和黑加点的数据写入工作表单元格EndIfNextlNexthEndWithwdApp.Close'关闭文件SetwdApp=Nothing'释放存储空间ActiveSheet.Cells.EntireColumn.AutoFit'自动调整列宽MsgBoxChr(10)&"成功地把"&Dir(do
8、cM)&"表格中数据导入当前工作表!"_&Chr(10)&Chr(10)&"共用时"&Timer-开始时间&"秒",,"按单元格读取WORD表格数据"ElseIfDir(docM)=""Then'如果指定引用的文件不存在MsgBoxChr(10)&"指定引用的文件"&Dir(wjM)&"不存在!",,VBA在EXCEL中操作WORD表格之六第6页共6页"按单元格读取WOR