In Excel abbiamo la "casella nome" nella parte in alto a sinistra, ma non sono riuscito a trovare il modo per recuperare il nome di una forma in Word. Come lo faccio?Come posso recuperare il nome di una forma in MS Word?
risposta
In MS Word esistono due tipi di forme: InlineShapes
e Shapes
. E 'abbastanza facile da controllare il nome dell'oggetto forma con un po' di codice VBA:
- Scegli un modello
- premere Alt + F11 per aprire VBA Editor
- nella finestra immediata esecuzione di questo codice:
? Selection.ShapeRange.Name
- come risultato ottieni il nome della forma.
InlineShape
non ha proprietà di nome, pertanto, non è possibile controllare il suo nome fino a promuovere la tua InlineShape
-Shape
tipo di oggetto.
Da Microsoft Word 2010
in poi (2010
, 2013
e 2016
) c'è un "Riquadro di selezione" incluso nel Microsoft Word
. Nel riquadro di selezione vengono elencati e denominati Microsoft Word InlineShapes
e Shapes
.
È possibile trovare il "riquadro di selezione" nel menu sotto
- "Home" -tab
- "Editing" -group
- "Select" -per
- "Riquadro di selezione. .. "
La migliore risposta in questa intera discussione :) –
Il metodo più conveniente consiste nel creare un pulsante macro, accessibile dalle schede (ad es. Home, Inserisci, ecc.). In questo modo, fai semplicemente clic sulla forma, fai clic sul pulsante macro e voila - il nome della forma viene visualizzato in una finestra di messaggio (finestra a comparsa).
utilizzare il seguente codice:
MsgBox ActiveWindow.Selection.ShapeRange(1).name
Il codice può generare "Il valore non rientra nell'intervallo previsto" – PandaWood
Risposta corretta, spero)))
For Each ILShp In Doc.InlineShapes
If ILShp.Type = 5 Then ' 5 (wdInlineShapeOLEControlObject) - OLE control object. (ComboBox and CheckBox)
' if object is ComboBox
If CStr(ILShp.OLEFormat.ClassType) = "Forms.ComboBox.1" Then
Cb_Name = ILShp.OLEFormat.Object.Name ' retuns ComboBox1
endif
Next
Grazie. Ctrl + G apre la finestra Immediata. – ftkg
Stavo cercando un modo per fare riferimento alla forma selezionata attivamente e questo è perfetto. Grazie @Kazimierz – MJA