ActiveX文本框值

时间:2011-12-26 18:03:50

标签: vba word-vba

如何在Word中获取文本框的值? 我知道这是正确的语法:ActiveSheet.Shapes(x).Name

我在中认为这将是正确的语法
     ActiveDocument.Shapes(x).Name
但这似乎不起作用。

使用这段代码我也找不到文本框:

For i = 1 To ActiveDocument.Shapes.Count
    MsgBox ActiveDocument.Shapes(i).Name
Next i

2 个答案:

答案 0 :(得分:8)

  1. 要获取标准文本框,请使用以下命令: ActiveDocument.Shapes(1).TextFrame.TextRange.Text

  2. 要获取 ActiveX控件(OLEobjects),请使用此语法,其中TextBox1是控件名称,请使用 ActiveDocument.TextBox1.Value

  3. 要获取 ActiveX控件名称,请使用以下命令: ActiveDocument.InlineShapes(1).OLEFormat.Object.Name

答案 1 :(得分:1)

我使用标签(对象属性 - >分配标签名称)来编辑对象的值。使用此语法更改内容控件的值: ActiveDocument.SelectContentControlsByTag("Your-Content-Control-Tag").Item(1).Range.Text = "your-preferred-value" 无论如何,感谢Rachel Hettinger的耐心;)。