Bernard Marcelly a écrit :
Le problème est ailleurs. En faisant un essai simplifié à l'extrême, mon
dialogue s'ouvre et se ferme, et le test if marche, quel que soit
l'emplacement de:
LaFormule=ThisComponent.getCurrentSelection()
Moi, je préfèrerais la mettre en début de macro.
Bonjour Bernard,
effectivement, le problème est ailleurs, il semble que ce soit la
succession des deux lignes :
oViewCursor = ThisComponent.getCurrentController().getViewCursor()
oTextCursor=oViewCursor.Text.createTextCursorByRange(oViewCursor)
qui perturbe le fonctionnement de celle-ci :
LaFormule=ThisComponent.getCurrentSelection()
car en enlevant ces deux lignes et en définissant explicitement les
chaines de caractères dans la boite de dialogue, tout fonctionne.
Manque de chance si je rentre :
Sub AffecteFormule
LaFormule=ThisComponent.getCurrentSelection()
oViewCursor = ThisComponent.getCurrentController().getViewCursor()
oTextCursor=oViewCursor.Text.createTextCursorByRange(oViewCursor)
alors ça plante : en mettant un point d'arrêt sur la première
instruction et en appelant la macro, rien ne se passe et impossible
d'arrêter la fenêtre BASIC. Obligé de fermer salement office comme je
disais précédemment.
Je ne sais plus que faire pour contourner ce problème !
Peut-être récupérer la police et la taille du texte courant sans passer
par un curseur (ce qui supprimerait ces 2 lignes gênantes...) ?