用户从下拉框中选择项目,单击按钮,所选项目将填充表格的最后一行

时间:2018-01-25 08:18:09

标签: vba ms-word word-vba

在Microsoft的话中,我有一个3x3表,一个按钮和一个下拉列表。

当我按下按钮时,我希望第一列的最后一行填充所选的下拉列表项。然后,在它下面的表格中添加一行。

目前,我甚至无法将值填入表格中。

nano会返回错误。我该怎么办?

我设法选择了最后一行。 ActiveDocument.Tables(15).Rows.Last.Cells.Value = "Hello"

现在,我需要从下拉列表中复制当前值。我该怎么做?

1 个答案:

答案 0 :(得分:1)

这是一种方法。它在任何现有文本之后插入文本:

Option Explicit

Sub PopulateTable()

    With ActiveDocument

        .Tables(1).Rows.Last.Cells(1).Range.InsertAfter .FormFields("DropDown1").Result

    End With

End Sub

如果您知道具体的小区位置,也可以使用:

.Tables(1).Cell(3, 1).Range.InsertAfter .FormFields("DropDown1").Result

参考文献:

1)table-cell-method-word

2)dropdown-object-word

您可以循环播放,以便查看Activedocument中存在哪些表单字段,并获取其名称,如下所示:

Sub GetNames()

Dim myField As FormField

For Each myField In ActiveDocument.FormFields

    Debug.Print myField.Name

Next myField

End Sub

如果双击下拉表单控件,它将打开一个窗口,您可以在其中查看Bookmark名称,即下拉对象的当前名称。

您还可以通过此路线关联宏(因此可能会删除对按钮的需要)

Dropdown

旧版表单控件:

Legacy form control Drop down