Bonjour Jean-Luc,
Thiebaut Jean-Luc a écrit :
pour ma base de données, j'ai une sorte de formulaire principal qui ne
comporte que des boutons.
La plupart ouvre des formulaires, le dernier "Quitter" devrait fermer
tous les formulaires ouverts,
et si possible quitter Ooo.
Il faut utiliser StarDesktop.terminate() pour tenter de quitter OOo. Je
te laisse voir les parametres a passer pour ferme vraiment OOo.
j'ai trouvé sur Internet un morceau de code permettant de fermer les
fenêtres :
<code>
Dim serviceManager As Object, Desktop As Object, i As Byte
Set serviceManager = CreateObject("com.sun.star.serviceManager")
Set Desktop =
serviceManager.createInstance("com.sun.star.frame.Desktop")
For i = 1 To Desktop.Frames.getCount 'compte le nombre de
fenêtres OOo ouvertes
Desktop.getFrames.getByIndex(0).Close (False)
Next i
</code>
Je vois plusieurs erreurs dans ton code:
1/ com.sun.star.serviceManager n'existe pas dans l'API: ca doit etre
"com.sun.star.lang.ServiceManager"
2/ Pour recuperer le desktop, il suffit d'utiliser la variable
StarDesktop.
3/ En Basic OOo, sauf indication contraire par une option dont je ne
me souviens plus, les indices de tableaux commencent a 0 et non pas 1
4/ Soit tu ecris StarDesktop.Frames soit StarDesktop.getFrames(),
mais pas un melange des deux. Si ca se trouve c'est syntaxiquement pas
faux, mais c'est plus propre comme code.
<code>
For i = 0 To StarDesktop.Frames.Count
StarDesktop.getFrames().getFrames().getByIndex(0).Close(False)
Next i
</code>
J'espere que ca t'aide.
A bientot
Cedric
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]