资源描述:
《用VBA操作word表格Word的表格功能是非常重要的一个功能》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用VBA操作word表格Word的表格功能是非常重要的一个功能,也是用户经常使用的一项功能,在Word2003中,增加了不少新的功能。如果利用VBA自动处理表格将使用户的效率有极大的提高。1.向表格单元格插入文字下面的代码向活动文档的第一个表格的第一个单元格插入文字。Cell方法返回单个的Cell对象。Range属性返回一个Range对象。Delete方法用来删除现有的文字,而InsertAfter方法用来插入"Cell1,1"文字。IfActiveDocument.Tables.Count>=1ThenWithA
2、ctiveDocument.Tables(1).Cell(Row:=1,Column:=1).Range.Delete.InsertAfterText:="Cell1,1"EndWithEndIf2在表格中插入文字下面的代码在文档的开头插入一张3行4列的表格。ForEach...Next结构用来循环遍历表格中的每个单元格。在ForEach...Next结构中,InsertAfter方法用来向表格单元格(Cell1、Cell2等等)添加文字。SetoDoc=ActiveDocumentSetoTable=oDoc.T
3、ables.Add(Range:=oDoc.Range(Start:=0,End:=0),NumRows:=3,NumColumns:=4)iCount=1ForEachoCellInoTable.Range.CellsoCell.Range.InsertAfter"Cell"&iCountiCount=iCount+1NextoCelloTable.AutoFormatFormat:=wdTableFormatColorful2,ApplyBorders:=True,ApplyFont:=True,_ApplyC
4、olor:=True3显示每个单元格的内容下面的代码返回并显示文档第一张表格第一行中每个单元格中的内容。SetoTable=ActiveDocument.Tables(1)ForEachaCellInoTable.Rows(1).CellsSetmyRange=ActiveDocument.Range(Start:=aCell.Range.Start,End:=aCell.Range.End-1)MsgBoxmyRange.TextNextaCellSetoTable=ActiveDocument.Tables(1
5、)ForEachaCellInoTable.Rows(1).CellsSetmyRange=aCell.RangemyRange.MoveEndUnit:=wdCharacter,Count:=-1'非常重要,目的是去掉换行符'否则内容后面会有个小圆点MsgBoxmyRange.TextNextaCell4将文本转换为表格下面的代码在活动文档的开头插入以制表符分隔的文本,然后将这些文本转换为一张表格。SetoRange1=ActiveDocument.Range(Start:=0,End:=0)oRange1.In
6、sertBefore"one"&vbTab&"two"&vbTab&"three"&vbCrSetoTable1=oRange1.ConvertToTable(Separator:=Chr(9),NumRows:=1,NumColumns:=3)5返回每个表格单元格的内容下面的代码定义一个数组,使该数组的元素个数等于文档第一个表格中的单元格数(假定OptionBase1)ForEach...Next结构用来返回每个表格单元格的内容,并将文字指定给相应的数组元素。IfActiveDocument.Tables.Cou
7、nt>=1ThenSetoTable=ActiveDocument.Tables(1)iNumCells=oTable.Range.Cells.CountReDimaCells(iNumCells)i=1ForEachoCellInoTable.Range.CellsSetmyRange=oCell.RangemyRange.MoveEndUnit:=wdCharacter,Count:=-1aCells(i)=myRange.Texti=i+1NextoCellEndIf6将活动文档中的所有表格复制到一篇新文档下
8、面的代码将当前文档中的表格复制到新文档中。IfActiveDocument.Tables.Count>=1ThenSetoDoc1=ActiveDocumentSetMyRange=Documents.Add.Range(Start:=0,End:=0)ForEachoTableInoDoc1.TablesoTable.Range.CopyWithMyRan