问题
How do I get the value of a textbox in Word?
I know in excel this is the right syntax: ActiveSheet.Shapes(x).Name
.
I thought in word this would be the right syntaxActiveDocument.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
回答1:
To get the value of a standard textbox, use this:
ActiveDocument.Shapes(1).TextFrame.TextRange.Text
To get the value of ActiveX controls (OLEobjects), use this syntax where
TextBox1
is the control name, useActiveDocument.TextBox1.Value
To get the name of ActiveX controls, use this:
ActiveDocument.InlineShapes(1).OLEFormat.Object.Name
回答2:
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 ;).
来源:https://stackoverflow.com/questions/8638022/activex-textbox-value