介绍使用vba语句操作word中的表格。 本文讲解word中使用vba来创建表格、选中表格、删除表格
一、创建表格
1、方法和参数
Tables.Add 方法
 WdDefaultTableBehavior 枚举
WdDefaultTableBehavior 枚举
 WdAutoFitBehavior 枚举
WdAutoFitBehavior 枚举

2、参数设置注意问题
 
 

小结:如上图所示 禁用自动调整,不会调整列宽,会根据内容自动调整行高 启用自动调整,会 优先根据内容调整列宽,然后调整行高
3、代码示例
'创建一个3行4列的表格,并将其赋值给变量t '设置表格的样式为“网格型”
Sub 创建表格()
  Dim t As Table
  Set t = ActiveDocument.Tables.Add( _
  Range:=Selection.Range, _
  NumRows:=4, _
  NumColumns:=3, _
  DefaultTableBehavior:=1, _
  AutoFitBehavior:=2)
  t.Style = "网格型"
End Sub	
二、选中表格
1、使用的方法
1 Document.DeleteAllEditableRanges 方法
'简单的说,就是删除选中的区域,该区域具有可编辑权限

2 Document.SelectAllEditableRanges 方法
'简单的说,就是选中区域,该区域具有可编辑权限

3 Editors.Add 方法
'简单的说,就是增加有编辑权限的区域

WdEditorType 常量

2、选中所有表格
Sub 选中表格()
  Dim mytable As Word.Table
  '删除所有可编辑区域
  ActiveDocument.DeleteAllEditableRanges (-1)
  '添加可编辑区域
  For Each mytable In ActiveDocument.Tables
    mytable.Range.Editors.Add wdEditorEveryone
  Next
  '选中所有可编辑区域
  ActiveDocument.SelectAllEditableRanges (-1)
'此时,可以对所有选中的可编辑区域,进行统一的设置
  '设置所有表格的上边框的线条和颜色
  With Selection
    .Borders(wdBorderTop).LineStyle = wdLineStyleDouble
    .Borders(wdBorderTop).ColorIndex = wdDarkRed
  End With
  '删除所有可编辑区域
  ActiveDocument.DeleteAllEditableRanges (-1)
End Sub
3、选中指定的单个表格
'2、选中指定的表格
'选中活动文档中的第2个表格
Sub 选中指定的表格()
  ActiveDocument.Tables(2).Select
End Sub
Sub 逐一选中文档中的表格()
  Dim t As Table
  For Each t In ActiveDocument.Tables
    t.Select
  Next t
End Sub
三、删除表格
Table.Delete 方法 删除指定的表格。
1、删除指定的表格
Sub 删除指定的表格()
  '删除活动文档中的最后一个表格
  Dim n As Integer
  With ActiveDocument
    n = .Tables.Count
    .Tables(n).Delete
  End With
End Sub
2、删除所有表格
Sub 删除所有表格()
  Dim t As Table
  For Each t In ActiveDocument.Tables
    t.Delete
  Next
End Sub










