12/01/12 17:01
bruno.demarini
Ciao a tutti, sto gestendo l'automazione con word e ho un Document in cui sono presenti numerosi elevamenti a potenza, indicati con ^numero. Per esempio: 4 cm^2, 4 m^3, 6.022 * 10^23 etc... Io vorrei sostituire tutte le occorrenze di "^numero" con "numero" e far sì che tale numero venga mostrato come apice.
Avevo pensato a questo inelegante escamotage (confidando nel fatto che l'utente non inserisse elevamenti con esponente maggiore di 1000 o minore di -1000):
Dove docWord è un word.document.
I miei dubbi sono questi:
1) impostare superscript a true prima di rimpiazzare fa sì che il carattere sostituto venga scritto in apice?
2) Col debug, noto che docWord.ActiveWindow.Selection.Text è sempre nullo, quindi questo codice non viene mai eseguito...
Dove sbaglio?
Come posso ottenere il risultato che voglio (mi basta anche solo la logica)? Ciò che mi crea più problemi è che l'esponente potrebbe essere di 1 cifra come di 2 o più... Grazie!
Avevo pensato a questo inelegante escamotage (confidando nel fatto che l'utente non inserisse elevamenti con esponente maggiore di 1000 o minore di -1000):
For i = -1000 To 1000 If docWord.ActiveWindow.Selection.Text.Contains("^" & i) Then docWord.ActiveWindow.Selection.Font.Superscript = True docWord.ActiveWindow.Selection.Text.Replace("^" & i, i) End If Next
Dove docWord è un word.document.
I miei dubbi sono questi:
1) impostare superscript a true prima di rimpiazzare fa sì che il carattere sostituto venga scritto in apice?
2) Col debug, noto che docWord.ActiveWindow.Selection.Text è sempre nullo, quindi questo codice non viene mai eseguito...
Dove sbaglio?
Come posso ottenere il risultato che voglio (mi basta anche solo la logica)? Ciò che mi crea più problemi è che l'esponente potrebbe essere di 1 cifra come di 2 o più... Grazie!
aaa