【发布时间】:2016-03-02 16:31:44
【问题描述】:
我一直在尝试找到一种代码来以特定方式格式化 word 文档的第一个表格,然后循环遍历其余表格以另一种方式格式化它们。我找到了一个正确循环所有表的代码,但还没有找到一种方法来排除第一个表以便对其进行不同的格式化。这是适用于所有表格的代码
Sub Change_All_Tables_Formating()
Dim oTbl As Word.Table
Dim oCell As Word.Cell
For Each oTbl In ActiveDocument.Tables
For Each oCell In oTbl.Range.Cells
oCell.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
Next oCell
oTbl.Rows(1).Shading.BackgroundPatternColorIndex = wdGray25
oTbl.Rows(1).Range.Bold = True
Next oTbl
End Sub
这是我无法正确调整第一个表格格式的代码。它需要从第一个表格中完全去除阴影,并对word文档中其余表格的标题进行阴影处理。我觉得如果我能学会如何做到这一点,我将能够调整任何我想要的表格并单独格式化它们。每个文档的表格数量不同,但第一个表格始终相同。任何人都可以提供任何帮助,我将不胜感激。
Sub Change_Tables_Formating()
Dim oTbl As Word.Table
Dim oCell As Word.Cell
Set oTbl = ActiveDocument.Tables
Set oTblcnt = wdDoc.Tables.Count
For oTbl = 0 To 1
For Each oCell In oTbl.Range.Cells
oCell.Range.ParagraphFormat.Alignment = wdAlignParagraphLeft
Next oCell
oTbl.Range.Shading.BackgroundPatternColorIndex = wdColorWhite
Next oTbl
For oTbl = 2 To oTblct
For Each oCell In oTbl.Range.Cells
oCell.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
Next oCell
oTbl.Rows(1).Shading.BackgroundPatternColorIndex = wdGray25
oTbl.Rows(1).Range.Bold = True
Next oTbl
End Sub
【问题讨论】: