jroeleveld
jroeleveld

Reputation: 456

ActiveX textbox value

How do I get the value of a textbox in Word? I know in this is the right syntax: ActiveSheet.Shapes(x).Name.

I thought in this would be the right syntax
ActiveDocument.Shapes(x).Name,
but this doesn't seems to work.

With this piece of code I also couldn't find a textbox:

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

Upvotes: 5

Views: 22293

Answers (2)

jroeleveld
jroeleveld

Reputation: 456

I used tags (object properties -> assign a tag name) to edit the object's value. Use this syntax to change the value of a content control: ActiveDocument.SelectContentControlsByTag("Your-Content-Control-Tag").Item(1).Range.Text = "your-preferred-value" Anyway, thanks Rachel Hettinger for your patience ;).

Upvotes: 1

Rachel Hettinger
Rachel Hettinger

Reputation: 8442

  1. To get the value of a standard textbox, use this: ActiveDocument.Shapes(1).TextFrame.TextRange.Text

  2. To get the value of ActiveX controls (OLEobjects), use this syntax where TextBox1 is the control name, use ActiveDocument.TextBox1.Value

  3. To get the name of ActiveX controls, use this: ActiveDocument.InlineShapes(1).OLEFormat.Object.Name

Upvotes: 10

Related Questions