您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 统计图表 > 在EXCEL中用VBA处理WORD表格常规属性
VBA在EXCEL中操作WORD表格之五第1页共25页在EXCEL中用VBA设置WORD表格常规属性编辑:madmlwt1.计算WORD文档中的表格个数【要求】在EXCEL中用VBA计算指定的WORD文档“成绩表.doc”中非嵌入式表格的个数。【代码】Sub计算WORD表格个数()Application.ScreenUpdating=False'关闭屏幕刷新dqM=ThisWorkbook.Path&\成绩表.doc'带路径的WORD文件名称SetwdWORD=CreateObject(Word.Application)'定义一个Word对象变量SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象bgS=dkDOC.Tables.Count'当前文档中的表格总数dkDOC.Close'关闭文档SetdkDOC=Nothing'释放存储空间SetwdWORD=Nothing'释放存储空间MsgBoxChr(10)&Dir(dqM)&文档中共有&bgS&个表格!,,计算WORD表格个数Application.ScreenUpdating=False'关闭屏幕刷新EndSub提示:嵌入式表格如WORD文档中插入的EXCEL表格、表格中插入的表格。计算表格个数的代码格式——文档对象.Tables.Count上述方法不能计算WORD文档中的嵌入式表格个数。2.计算WORD文档中各个表格的行/列数【要求】VBA在EXCEL中操作WORD表格之五第2页共25页在EXCEL中,遍历WORD文档“成绩表.doc”中的表格,计算表格的行数和列数。【代码】Sub计算指定WORD文档中表格行列数()Application.ScreenUpdating=False'关闭屏幕刷新dqM=ThisWorkbook.Path&\成绩表.doc'带路径的WORD文件名称SetwdWORD=CreateObject(Word.Application)'定义一个Word对象变量SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象bgS=dkDOC.Tables.Count'当前文档中的表格总数Forg=1TobgS'循环表格WithdkDOC.Tables(g)'逐个表格计算hs=.Rows.Count'行数ls=.Columns.Count'列数MsgBoxChr(10)&Dir(dqM)&文档共有表格&bgS&个_&Chr(10)&Chr(10)&第&g&个表格有&hs&行&ls&列,,计算WORD表格行列数'计算信息提示EndWithNextgdkDOC.Close'关闭文档SetdkDOC=Nothing'释放存储空间SetwdWORD=Nothing'释放存储空间Application.ScreenUpdating=False'关闭屏幕刷新EndSub提示:计算行数代码格式——文档对象.表格对象.Rows.CountVBA在EXCEL中操作WORD表格之五第3页共25页计算列数代码格式——文档对象.表格对象.Columns.Count上述方法不能计算嵌入式表格的行/列数。3.选定WORD表格的指定区域⑴选定整个表格【代码】Sub选择WORD文档的指定表格整体()Application.ScreenUpdating=False'关闭屏幕刷新dqM=ThisWorkbook.Path&\成绩表.doc'带路径的WORD文件名称SetwdWORD=CreateObject(Word.Application)'定义一个Word对象变量SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象wdWORD.Visible=True'窗口可见'wdWORD.ActiveDocument.Tables(1).Select'选择整个表格wdWORD.ActiveDocument.Tables(1).Range.Select'选择整个表格'wdWORD.Quit'关闭新建文档窗口SetdkDOC=Nothing'释放存储空间SetwdWORD=Nothing'释放存储空间Application.ScreenUpdating=False'关闭屏幕刷新EndSub⑵选定一个单元格【代码】Sub选择WORD表格的第一个单元格()Application.ScreenUpdating=False'关闭屏幕刷新dqM=ThisWorkbook.Path&\成绩表.doc'带路径的WORD文件名称SetwdWORD=CreateObject(Word.Application)'定义一个Word对象变量SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象VBA在EXCEL中操作WORD表格之五第4页共25页wdWORD.Visible=True'窗口可见SetwdBG=wdWORD.ActiveDocument.Tables(1)'创建表格对象wdBG.Cell(1,1).Select'选择第一个单元格'wdBG.Cell(1,1).Range.Select'选择第一个单元格'wdWORD.Quit'关闭新建文档窗口SetwdBG=Nothing'释放存储空间SetdkDOC=Nothing'释放存储空间SetwdWORD=Nothing'释放存储空间Application.ScreenUpdating=False'关闭屏幕刷新EndSub⑶选定表格最后一个单元格【代码】Sub选择WORD表格的最后一个单元格()Application.ScreenUpdating=False'关闭屏幕刷新dqM=ThisWorkbook.Path&\成绩表.doc'带路径的WORD文件名称SetwdWORD=CreateObject(Word.Application)'定义一个Word对象变量SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象hs=wdWORD.ActiveDocument.Tables(1).Rows.Count'行数ls=wdWORD.ActiveDocument.Tables(1).Columns.Count'列数wdWORD.Visible=True'窗口可见SetwdBG=wdWORD.ActiveDocument.Tables(1)'创建表格对象wdBG.Cell(hs,ls).Range.Select'选择最后一个单元格'wdWORD.Quit'关闭新建文档窗口SetwdBG=Nothing'释放存储空间SetdkDOC=Nothing'释放存储空间SetwdWORD=Nothing'释放存储空间VBA在EXCEL中操作WORD表格之五第5页共25页Application.ScreenUpdating=False'关闭屏幕刷新EndSub注意:一个表格的最后一个单元格由表格的最后一行hs和最后一列ls围成的一个方格。所以表格最后一个单元格的代码格式是.Cell(hs,ls)。⑷选定指定行/列【代码】Sub选择WORD表格指定行()Application.ScreenUpdating=False'关闭屏幕刷新dqM=ThisWorkbook.Path&\成绩表.doc'带路径的WORD文件名称SetwdWORD=CreateObject(Word.Application)'定义一个Word对象变量SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象wdWORD.Visible=True'窗口可见wdWORD.ActiveDocument.Tables(1).Rows(3).Select'选择第3行'wdWORD.ActiveDocument.Tables(1).Rows(3).Range.Select'选择第3行'wdWORD.Quit'关闭新建文档窗口SetdkDOC=Nothing'释放存储空间SetwdWORD=Nothing'释放存储空间Application.ScreenUpdating=False'关闭屏幕刷新EndSubSub选择WORD表格指定列()Application.ScreenUpdating=False'关闭屏幕刷新dqM=ThisWorkbook.Path&\成绩表.doc'带路径的WORD文件名称SetwdWORD=CreateObject(Word.Application)'定义一个Word对象变量SetdkDOC=wdWORD.Documents.Open(dqM)'创建文档对象VBA在EXCEL中操作WORD表格之五第6页共25页wdWORD.Visible=True'窗口可见wdWORD.ActiveDocument.Tables(1).Columns(3).Select'选择第3列'wdWORD.Quit'关闭新建文档窗口SetdkDOC=Nothing'释放存储空间SetwdWORD=Nothing'释放存储空间Application.ScreenUpdating=False'关闭屏幕刷新EndSub【提示】选择最后一行hs=wdWORD.ActiveDocument.Tables(1).Rows.Count'行数wdWORD.ActiveDocument.Tables(1).Rows(hs).Select选择最后一列ls=wdWORD.ActiveDocument.Tables(1).Columns.Count'列数wdWORD.ActiveDocument.Tables(1).Columns(ls).Select⑸选定WORD表格中任意连续区域①选择连续行【代码】Sub选择WORD表格指定的连续行()Application.ScreenUpdating=False'关闭屏幕刷新dqM=ThisWorkbook.Path&\成绩表.doc'带路径的WORD文件名称SetwdWORD=CreateObject(Word.Application)'定义一个Word对象变量SetwDoc=wdWORD.Documents.Open(dqM)'创建文档对象wdWORD.Visible=True'窗口可见SetwBG=wDoc.Tables(1)'定义表格变量wDoc.Range(wBG.Cell(2,1).Range.Start,wBG.Cell(wBG.Rows.Count,wBG.Columns.Count).Range.End).Select'选择第2行到最后一行VBA在EXCEL中操作WORD表格之五第7页共25页'wdWORD.Quit'关闭新建文档窗口SetwBG=Nothing'释放存储空间SetwDoc=Nothing'释放存储空间SetwdWORD=Nothing'释放存储空间Application.ScreenUpdating=False'关闭屏幕刷新EndSub②选择任意列【代码】Sub选择WORD表格任意指定的连续列()Application.ScreenUpdating=False'关闭屏幕刷新dqM=ThisWorkbook.Path&\成绩表.doc'带路径的WORD文件名称SetwdWORD=CreateObject(Word.Application)'定义一个Word对象变量SetwDoc=wdWORD.Documents.Open(dqM)'创建文档对象wdWORD.Visible=True'窗口可见SetwBG=wDoc.Tables(1)'定义表格变量wDoc.Range(wBG.Cell(1,4).Range.Start,wBG.Cell(wBG.Rows.Count,7).Range.End).Select'选择第4列到第7列'wdWORD.Quit'关闭新建文档窗口SetwBG=Nothing'释放存储空间SetwDoc=Nothing'释放存储空间SetwdWORD=Nothing'释放存储
本文标题:在EXCEL中用VBA处理WORD表格常规属性
链接地址:https://www.777doc.com/doc-4471581 .html