【Office】Word 中用 VBA 实现表格操作
				
									
					
					
						|  | 
							admin 2025年2月5日 12:1
								本文热度 2619 | 
					
				 
				      介绍Word VBA中表格的常用操作包括:创建表格、设置表格样式、行列的增删、合并拆分单元格、获取与修改单元格内容
在指定位置插入新建表格
Sub CreateTable()    ' 设置表格的行数和列数    numRows = 3    numColumns = 4        ' 设置插入位置    ' 在当前选中的位置或光标处插入表格     Set insertRange = Selection.Range        ' 在指定位置插入表格    Set myTable = ActiveDocument.Tables.Add(Range:=insertRange, NumRows:=numRows, NumColumns:=numColumns)    End Sub
 代码说明:
设置表格的行数和列数
numRows = 3设置表格的行数为3
numColumns = 4设置表格的列数为4
设置插入位置:
将插入位置设置为文档开头Set insertRange = ActiveDocument.Range(0, 0)
ActiveDocument.Range(0, 0)表示从文档的第0个字符位置开始到第0个字符位置结束,即文档开头
如果要在文档的其他位置插入表格可以调整Range的起始和结束位置。例如:Set insertRange = ActiveDocument.Range(10, 10)在文档的第10个字符位置插入表格。
在文档的末尾插入表格Set insertRange = ActiveDocument.Content
在当前选中的位置/或光标处插入表格Set insertRange = Selection.Range
使用Style属性设置文档第一个表格样式
Sub SelectAndStyleTable()  ' 设置表格样式  ' 确保Word中存在名为“网格型”的样式,否则会引发错误  On Error Resume Next  ActiveDocument.Tables(1).Style = "网格型"  On Error GoTo 0End Sub
代码说明:
On Error Resume Next忽略错误继续执行代码例如样式名称不存在的情况“网格型”表格样式不存在时程序会报错
ActiveDocument.Tables(1).Style = "网格型"尝试将表格样式设置为“网格型”
On Error GoTo 0恢复正常的错误处理
插入行:使用Rows.Add方法
删除行:使用Rows.Delete方法
插入列:使用Columns.Add方法
删除列:使用Columns.Delete方法
Sub RowsAndCol()         ' 在第一个表格最后一行后插入一行   ActiveDocument.Tables(1).Rows.Add           ' 删除第一个表格第一行   ActiveDocument.Tables(1).Rows(1).Delete           ' 在第一个表格最后一列后插入一列   ActiveDocument.Tables(1).Columns.Add           ' 删除第一个表格第一列   ActiveDocument.Tables(1).Columns(1).DeleteEnd Sub
合并单元格:使用Merge方法
拆分单元格:使用Split方法
Sub MergeTable()    '合并第一个表格的第一行的前两个单元格    With ActiveDocument.Tables(1).Rows(1).Cells        .Item(1).Merge MergeTo:=.Item(2)    End With        '将第一个表格的第一个单元格拆分为2行1列    ActiveDocument.Tables(1).Cell(1, 1).Split numRows:=2, numColumns:=1End Sub
获取/修改Word表格单元格内容
使用单元格的Range.Text属性赋值来获取或修改内容
'将第一个表格第一个单元格内容改为Hello
Sub ModifyFirstTableCell()    ActiveDocument.Tables(1).Cell(1, 1).Range.Text = "Hello"End Sub
'显示第一个表格第一个单元格内容Sub FirstTableCell()  MsgBox ActiveDocument.Tables(1).Cell(1, 1).Range.Text End Sub
阅读原文:原文链接
该文章在 2025/2/5 18:32:42 编辑过