2011-12-26 45 views
5

Come si ottiene il valore di una casella di testo in Word? Lo so in questa è la sintassi corretta: ActiveSheet.Shapes(x).Name.Valore casella di testo ActiveX

ho pensato in questa sarebbe la giusta sintassi
ActiveDocument.Shapes(x).Name,
ma questo non sembra funzionare.

Con questo pezzo di codice anche io non riuscivo a trovare una casella di testo:

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

risposta

1

ho usato i tag (le proprietà degli oggetti -> assegna un nome di tag) per modificare il valore dell'oggetto. Utilizzare questa sintassi per modificare il valore di un controllo contenuto: ActiveDocument.SelectContentControlsByTag("Your-Content-Control-Tag").Item(1).Range.Text = "your-preferred-value" In ogni caso, grazie a Rachel Hettinger per la vostra pazienza;).

9
  1. per ottenere il valore di una casella di testo standard di , utilizzare questo: ActiveDocument.Shapes(1).TextFrame.TextRange.Text

  2. Per ottenere il valore di Controlli ActiveX (OLEobjects), utilizzare questa sintassi in cui TextBox1 è il nome del controllo, utilizzare ActiveDocument.TextBox1.Value

  3. Per ottenere il nome di controlli ActiveX, utilizzare questo: ActiveDocument.InlineShapes(1).OLEFormat.Object.Name

+0

Grazie per la risposta, ma questa è per una casella di testo predefinita e non per una casella di testo di controllo ActiveX. Ora sto leggendo qualcosa su "OLEObjects", che sembra un po 'più nella giusta direzione. – jroeleveld

+0

@jroeleveld Ho modificato la risposta per includere la sintassi per i controlli ActiveX. –

+0

Sì, ma come posso restituire il nome del controllo? – jroeleveld

Problemi correlati