文档详情

vba,选择word,表格中部分单元格.doc

发布:2016-12-23约字共50页下载文档
文本预览下载声明
vba,选择word,表格中部分单元格 篇一:用VBA操作word表格Word的表格功能是非常重要的一个功能 用VBA操作word表格Word的表格功能是非常重要的一个功能, 也是用户经常使用的一项功能,在Word 2003 中,增加了不少 新的功能。如果利用VBA 自动处理表格将使用户的效率有极大 的提高。 1. 向表格单元格插入文字 下面的代码向活动文档的第一个表格的第一个单元格插入 文字。 Cell 方法返回单个的 Cell 对象。Range 属性返回一个 Range 对象。Delete 方法用来删除现有的文字,而 InsertAfter 方 法用来插入Cell 1,1文字。 If ActiveDocument.Tables.Count = 1 Then With ActiveDocument.Tables(1).Cell (Row:=1, Column:=1).Range .Delete .InsertAfter Text:=Cell 1,1 End With End If 2 在表格中插入文字 下面的代码在文档的开头插入一张3 行 4 列的表格。For Each...Next 结构用来循环遍历表格中的每个单元格。在 For Each...Next 结构中,InsertAfter 方法用来向表格单元格(Cell 1、 Cell 2 等等)添加文字。 Set oDoc = ActiveDocument Set oTable = oDoc.Tables.Add(Range:=oDoc.Range(Start:=0, End:=0), NumRows:=3, NumColumns:=4) iCount = 1 For Each oCell In oTable.Range.Cells oCell.Range.InsertAfter Cell amp; iCount iCount = iCount + 1 Next oCell oTable.AutoFormat Format:=wdTableFormatColorful2, ApplyBorders:=True, ApplyFont:=True, _ ApplyColor:=True 3 显示每个单元格的内容 下面的代码返回并显示文档第一张表格第一行中每个单元 格中的内容。 Set oTable = ActiveDocument.Tables(1) For Each aCell In oTable.Rows(1).Cells Set myRange = ActiveDocument.Range(Start:=aCell.Range.Start, End:=aCell.Range.End - 1) MsgBox myRange.Text Next aCell Set oTable = ActiveDocument.Tables(1) For Each aCell In oTable.Rows(1).Cells Set myRange = aCell.Range myRange.MoveEnd Unit:=wdCharacter, Count:=-1 #39; 非常重要,目的 是去掉换行符 #39; 否则内容后面会有个小圆点 MsgBox myRange.Text Next aCell 4 将文本转换为表格 下面的代码在活动文档的开头插入以制表符分隔的文本, 然后将这些文本转换为一张表格。 Set oRange1 = ActiveDocument.Range(Start:=0, End:=0) oRange1.InsertBefore one amp; vbTab amp; two amp; vbTab amp; three amp; vbCr Set oTable1 = oRange1.ConvertToTable(Separator:=Chr(9), NumRows:=1, NumColumns:=3) 5 返回每个表格单元格的内容 下面的代码定义一个数组,使该数组的元素个数等于文档第一个表格中的单元格数(假定 Option Base 1) For Each...Next 结构用来返回每个表格单元格的内容,并将文字指定给相应的数组元素。 If ActiveDocument.Tables.Count = 1 Then Set oTable = ActiveDocument.Tables(1) iNumCells = oTable.Range.Cells.Count ReDim aCells(iNumCells) i = 1 For
显示全部
相似文档