ActiveX zone de texte valeur
Comment puis-je obtenir la valeur d'une zone de texte dans Word?
Je sais que dans excel c'est la bonne syntaxe: ActiveSheet.Shapes(x).Name
.
J'ai pensé à mot ce sera la bonne syntaxe
ActiveDocument.Shapes(x).Name
,
mais cela ne semble pas fonctionner.
Avec ce morceau de code que j'ai aussi ne pouvait pas trouver une zone de texte:
For i = 1 To ActiveDocument.Shapes.Count
MsgBox ActiveDocument.Shapes(i).Name
Next i
OriginalL'auteur jroeleveld | 2011-12-26
Vous devez vous connecter pour publier un commentaire.
Pour obtenir le valeur d'un zone de texte standard, utilisez ceci:
ActiveDocument.Shapes(1).TextFrame.TextRange.Text
Pour obtenir le valeur de contrôles ActiveX (OLEobjects), utilisez cette syntaxe où
TextBox1
est le nom du contrôle, de l'utilisationActiveDocument.TextBox1.Value
Pour obtenir le nom de contrôles ActiveX, utilisez ceci:
ActiveDocument.InlineShapes(1).OLEFormat.Object.Name
J'ai édité la réponse à inclure la syntaxe pour les contrôles ActiveX.
Oui, mais comment puis-je retourner le nom de la commande?
Voir la troisième balle pour savoir comment obtenir le nom du contrôle.
Merci, c'est presque vrai... mais cela ne fonctionne que pour les contrôles optionbutton. Pas pour une zone de texte.
OriginalL'auteur Rachel Hettinger
J'ai utilisé les balises (les propriétés de l'objet -> attribuer un nom de balise) pour modifier l'objet de valeur. Utilisez cette syntaxe pour modifier la valeur d'un contrôle de contenu:
ActiveDocument.SelectContentControlsByTag("Your-Content-Control-Tag").Item(1).Range.Text = "your-preferred-value"
En tout cas, merci Rachel Hettinger pour votre patience ;).
OriginalL'auteur jroeleveld