使用VBA将表格样式应用于标题

时间:2018-03-13 22:02:06

标签: ms-word word-vba word-style

我在Word中编写VBA代码来格式化表格。我需要允许用户独立于表体格式化表头。为此,我希望能够使用内置的表格样式,但是,当我这样做时,样式将应用于整个表格,而不仅仅是标题或正文。

以下是我用于将标题应用于标题的代码:

Sub FormatTableHeader(ByVal control As IRibbonControl)
Dim tbl As Table

If Selection.Information(wdWithInTable) = True Then
    Set tbl = Selection.Tables(1)

    tbl.Rows(1).Range.Style = "TableHeader"
End If

End Sub

我还需要为表体做类似的事情。

我可以使用表格样式做我想做的事情吗?我知道我可以编写代码来格式化表头,但我希望保持代码链接到样式。

1 个答案:

答案 0 :(得分:0)

不确定这是否可行,但您可以按照此procedure创建自己的样式并将其应用于标题行或表格主体。

Sub tableFormat()
Dim lastRow As Integer

lastRow = ActiveDocument.Tables(1).Rows.Count


With ActiveDocument.Tables(1).Rows(1).Range.Font
        .Name = "Arial"
        .Size = 12
        .Italic = True
        .Bold = True
End With

For i = 2 To lastRow
With ActiveDocument.Tables(1).Rows(i).Range.Font
        .Name = "Arial"
        .Size = 8
        .Italic = False
        .Bold = False
End With
Next i
End Sub