如何将带有代码的表样式分配给word文档

时间:2012-07-17 16:23:36

标签: vba ms-word word-style

我正在使用我为我的工作创建的Visual Basic 2010软件创建一个word文档,该软件包含一个报告...我被要求生成一个Microsoft Word文档,所以现在我正在创建一个表并用数据填充该表,类似这样的

oTable = oDoc.Tables.Add(oDoc.Bookmarks.Item("\endofdoc").Range, 8, 4)
oTable.Range.ParagraphFormat.SpaceAfter = 6
oTable.Range.Font.Size = 10

oTable.Rows.Item(1).Range.Font.Bold = True
oTable.Rows.Item(1).Range.Font.Italic = True
oTable.Cell(1, 1).Range.Text = "Datos de Facturación:"
oTable.Cell(1, 3).Range.Text = "            Enviar a:"
oTable.Cell(2, 1).Range.Text = rs.Text
oTable.Cell(2, 1).Width = 75
oTable.Cell(3, 1).Range.Text = dirfa.Text
oTable.Cell(3, 1).Width = 75 ..... etc..

Microsoft Word有一些表设计风格,如“DARK LIST - ACCENT 5”。 “DARK LIST - ACCENT 6”等,我无法弄清楚如何将这种风格设置到表中,是否可能?

1 个答案:

答案 0 :(得分:1)

要创建样式,您可以使用文档对象:

Set doc = wd.Documents.Add(NewTemplate:=True)

With doc.Styles("Certificate")
    With .Font
        .Name = "Arial"
        .Size = 12
        .Italic = True
        .Bold = True
    End With

    With .ParagraphFormat
        ''wdAlignParagraphCenter = 1
        .Alignment = 1
        .SpaceAfter = 0
        .SpaceBefore = 0
    End With
End With

指定样式:

Set r = doc.Shapes("Course1").TextFrame.TextRange
r.Style = "Certificate"

对于这种特殊情况,您可以使用:

    oTable.Range.Style = "ANewStyle"

或者,如果您可以使用内置样式:

    oTable.Rows.Item(1).Range.Style = WdBuiltinStyle.wdStyleHeading1