如何批量处理word中的表格

 

1 . 批量设置word中的表格宽度

比如,我这有一个word文档有200多个表格(全部是3列的),现在要求第一列宽度3cm,第二列4cm,第三列5cm。一个一个改不太可能吧???执行如下的宏代码就搞定:

 

 

点击(此处)折叠或打开

  1. Sub Macro1()
  2. Dim MyTable As Table
  3. For Each MyTable In ActiveDocument.Tables
  4.     MyTable.PreferredWidth = CentimetersToPoints(16)
  5.     MyTable.Columns(1).PreferredWidth = CentimetersToPoints(3)
  6.     MyTable.Columns(2).PreferredWidth = CentimetersToPoints(4)
  7.     MyTable.Columns(3).PreferredWidth = CentimetersToPoints(5)
  8. Next
  9. End Sub

 

 

2.  word中批量选中所有的表格

执行如下的宏代码即可:

 

点击(此处)折叠或打开

  1. Sub select_all_tables()
  2.      Dim mytable As Table
  3.       Application.ScreenUpdating = False
  4.       For Each mytable In ActiveDocument.Tables
  5.          mytable.Range.Editors.Add wdEditorEveryone
  6.      Next 
  7.     ActiveDocument.SelectAllEditableRanges (wdEditorEveryone)
  8.     ActiveDocument.DeleteAllEditableRanges (wdEditorEveryone)
  9.      Application.ScreenUpdating = True
  10. End Sub

 

方便大家查看,这里给出 word中批量选中所有的表格 例子,第一个类似:


如何批量处理word中的表格_word

按快捷键 ALT+F11后,
如何批量处理word中的表格_word_02

运行宏代码之后就选定了
如何批量处理word中的表格_word_03

 

 

3、 让word中所有的表格按照页面宽度调整


 

点击(此处)折叠或打开

  1. Private Sub Document_New()
  2. End Sub
  3. Private Sub Document_Open()
  4. Application.Browser.Target = wdBrowseTable
  5. For i = 1 To ActiveDocument.Tables.Count
  6. ' ActiveDocument.Tables(i).AutoFitBehavior (wdAutoFitContent) '根据内容自动调整表格
  7. ActiveDocument.Tables(i).AutoFitBehavior (wdAutoFitWindow) '根据窗口自动调整表格
  8. 'ActiveDocument.Tables(i).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter '水平居中
  9. 'ActiveDocument.Tables(i).Range.ParagraphFormat.Alignment = wdCellAlignVerticalCenter '垂直居中
  10. Next i
  11. End Sub