Word 2010模板表生成

时间:2012-03-30 15:36:07

标签: templates ms-word word-vba word-2010

我正在尝试使用Word 2010为编程项目测试计划创建模板。我已经创建了一个模型模板,显示了我想要做的事情。

Project Test Plan Mockup

我希望能够做的是能够单击Word功能区上的某些内容,并让模板生成下一个测试表并对标题进行排序。生成表格后,我会填写表格字段进行测试。

有人可以告诉我在Word帮助或其他地方查找什么,以便我可以创建此模板吗?

2 个答案:

答案 0 :(得分:1)

我个人会为此创建一个宏,或者您可以使用代码将其嵌入到模板中以添加菜单项并添加如下内容。 (它非常粗糙,但您可以使用它来生成一个包含布局和数字升序数字的表格),它不像以前的测试停止但应该是一个起点那样动态。)

Dim iCount As Integer

iCount = CInt(InputBox("How many tables?", "Table Count", 1))

For icurtable = 1 To iCount

    Dim oTableRange As Paragraph
    Dim oTable As Table
    Dim oCaption As Paragraph

    Set oCaption = ActiveDocument.Paragraphs.Add

    Call oCaption.Range.InsertBefore(CStr(icurtable))

    Set oTableRange = ActiveDocument.Paragraphs.Add

    Set oTable = oTableRange.Range.Tables.Add(oTableRange.Range, 4, 1, True, True)

    oTable.Rows.First.Cells(1).Range.InsertBefore ("Setup:")
    oTable.Rows(2).Cells(1).Range.InsertBefore ("Test:")
    oTable.Rows(3).Cells(1).Range.InsertBefore ("Expected Response:")
    oTable.Rows(4).Cells(1).Range.InsertBefore ("Restore")

    Call oTableRange.Range.InsertAfter(vbCrLf)

Next

答案 1 :(得分:0)

如果其他人遇到这个问题,我会提供我的解决方案。我决定在表格中创建一个表格,因此测试用例编号将位于左侧,人们希望看到它。

使用Sacha的答案作为模型,并自由地使用宏录制器,我想出了这个VBA宏,它完成了我想要的大部分工作。

Sub InsertTestTable()

'
' InsertTestTable Macro
' This macro inserts a test table into the document.
'

Dim oTable As Table
Dim iTable As Table

Set oTable = ActiveDocument.Tables.Add(Selection.Range, 1, 2, _
    wdWord9TableBehavior, wdAutoFitContent)

Selection.TypeText ("1.")
Selection.MoveRight

Set iTable = ActiveDocument.Tables.Add(Selection.Range, 4, 2, _
    wdWord9TableBehavior, wdAutoFitContent)

iTable.Rows(1).Cells(1).Range.InsertBefore ("Setup:")
iTable.Rows(2).Cells(1).Range.InsertBefore ("Test:")
iTable.Rows(3).Cells(1).Range.InsertBefore ("Expected Response:")
iTable.Rows(4).Cells(1).Range.InsertBefore ("Restore:")

iTable.Rows(1).Cells(2).Range.Select

End Sub

现在,我需要做的就是按照我想要的方式格式化表格,并弄清楚如何通过文档中的表格集来提升数字。