2011-12-26 6 views
5

Comment puis-je obtenir la valeur d'une zone de texte dans Word? Je sais en c'est la bonne syntaxe: ActiveSheet.Shapes(x).Name.Valeur de la zone de texte ActiveX

Je pensais à ce serait la bonne syntaxe
ActiveDocument.Shapes(x).Name,
mais cela ne semble pas fonctionner.

Avec ce morceau de code que je ne pouvais pas trouver aussi une zone de texte:

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

Répondre

1

J'utilise des balises (propriétés d'objet -> attribuer un nom de tag) pour éditer la valeur de l'objet. Utilisez cette syntaxe pour changer la valeur d'un contrôle de contenu: ActiveDocument.SelectContentControlsByTag("Your-Content-Control-Tag").Item(1).Range.Text = "your-preferred-value" Quoi qu'il en soit, merci Rachel Hettinger pour votre patience;).

9
  1. Pour obtenir la valeur d'une norme zone de texte, utilisez: ActiveDocument.Shapes(1).TextFrame.TextRange.Text

  2. Pour obtenir la valeur de Contrôles ActiveX (OLEobjects), utilisez cette syntaxe où TextBox1 est le nom de contrôle, utilisez ActiveDocument.TextBox1.Value

  3. Pour obtenir le nom de contrôles ActiveX, utilisez ceci: ActiveDocument.InlineShapes(1).OLEFormat.Object.Name

+0

Merci pour votre réponse, mais c'est pour une zone de texte par défaut, et non pour une zone de texte contrôle ActiveX. Je suis en train de lire quelque chose à propos de 'OLEObjects' ce qui semble un peu plus dans la bonne direction. – jroeleveld

+0

@jroeleveld J'ai édité la réponse pour inclure la syntaxe pour les contrôles ActiveX. –

+0

Oui, mais comment puis-je retourner le nom du contrôle? – jroeleveld

Questions connexes