Word 2007 Vba - Vai alla segnaposto tramite macro
-
28-09-2019 - |
Domanda
Ok, quindi sono costantemente in lotta con Microsoft come sto creando diversi modelli per alcuni clienti. Il mio problema è questo, semplice segnaposto TextBox sparsi tutto intorno a un documento mi permette di premere TAB per passare alla successiva segnaposto. Molto simile ordine di tabulazione in Visual Studio. Ma per qualche strana ragione, questo non funziona con ricchi segnaposto casella di testo. E ho bisogno di utilizzare il testo ricco per un paio di caselle di testo perché l'utente dovrebbe essere consentito di modificare la formattazione dei singoli caratteri. Questo non è possibile con semplici caselle di testo.
Così ho pensato, potrebbe essere possibile utilizzare le macro? Ad esempio, se si seleziona un segnaposto casella di testo e la macro viene eseguita, passare alla successiva segnaposto?
Soluzione
Gli oggetti Forma / TextBox si può accedere attraverso
ThisDocument.Shapes.Item(index)
e controllando l'oggetto Shape restituito per
theShape.Type = msoTextBox
Tuttavia, gli oggetti Shape verrà restituito nell'ordine in cui sono stati creati, non il loro ordine nella pagina / documento. Per trovare il 'prossimo' TextBox, si sono probabilmente andando ad avere per scorrere tutti TextBoxes e indagare la loro posizione (.Top, .Left ecc) al fine di trovare quella giusta per spostarsi con:
theNextShape.Select