我在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
我还需要为表体做类似的事情。
我可以使用表格样式做我想做的事情吗?我知道我可以编写代码来格式化表头,但我希望保持代码链接到样式。
答案 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