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

Vba 用户从下拉框中选择项,单击按钮,所选项填充表的最后一行,vba,ms-word,Vba,Ms Word,在Microsoft word中,我有一个3x3表格、一个按钮和一个下拉列表 当我按下按钮时,我希望第一列的最后一行填充所选下拉列表项。然后,在下面的表格中添加一行 目前,我甚至无法将值填入表中 ActiveDocument.Tables15.Rows.Last.Cells.Value=Hello返回错误。我能做什么 我设法选择了最后一行。ActiveDocument.Tables15.Rows.Last.Select 现在,我需要从下拉列表中复制当前值。我该怎么做呢?这里有一种方法。它在任何现

在Microsoft word中,我有一个3x3表格、一个按钮和一个下拉列表

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

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

ActiveDocument.Tables15.Rows.Last.Cells.Value=Hello返回错误。我能做什么

我设法选择了最后一行。ActiveDocument.Tables15.Rows.Last.Select


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

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

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
参考资料:

一,

二,

您可以循环查看Activedocument中存在哪些表单字段,并按如下方式获取它们的名称:

Sub GetNames()

Dim myField As FormField

For Each myField In ActiveDocument.FormFields

    Debug.Print myField.Name

Next myField

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

您还可以通过此路径关联宏,这样就不需要按钮

旧表单控件:


如果看不到您的整个文档,就很难看到您被卡住的地方。尽管如此,将文本设置为表格单元格的代码应该类似于ActiveDocument.Tables15.Rows.Last.Cells2.Range.text=Hello,如果这对您有帮助的话,有没有办法查看我的下拉列表对象当前被调用的内容?它可能不是下拉列表1。对不起,我不熟悉ms word对象。我明白了。。有没有办法通过点击我的下拉列表来知道它叫什么?此文档中有数百个来自我的Debug.print的表单字段。双击它时不会发生任何事情。我从以下位置创建了下拉列表:开发者选项卡->控件->下拉列表内容控件。我在正确的路径上吗?我使用旧窗体控件插入控件。请参见编辑。