Bernard Marcelly a écrit :

Une autre solution est de recharger le document, ce qui n'a pas l'air possible avec l'API.
J'avais tenté un monDocument.reload() sans succès.

L'enregistreur de macros peut le faire, mais pour
éviter le message de confirmation on doit lui faire croire que rien n'est modifié:

monDocument.setModified(False)
dim dispatcher as object
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(monDocument.CurrentController.Frame, ".uno:Reload", "", 0, Array())

Il ne faut pas que la macro soit dans le document, sinon elle est interrompue par le Reload.

Le rechargement a l'air de bien se passer, mais j'ai un plantage sur le StoreToURL suivant. Il semble que ce soit l'objet monDocument qui a changé.
Maintenant j'ai deux options qui marchent:

Function Recharger(monDocument as Object) as Object
dim dispatcher as object
dim URL as String
Dim propFich()
dim option as integer

option = 2

   monDocument.setModified(False)
   if option = 1 then

      URL = monDocument.URL
      monDocument.close(true)
Recharger = starDeskTop.LoadComponentFromUrl(URL, "_blank", 0,
         propFich)

      else

      dispatcher =                                              
            createUnoService("com.sun.star.frame.DispatchHelper")
      dispatcher.executeDispatch(monDocument.CurrentController.Frame,           
             ".uno:Reload", "", 0, Array())
      Recharger = thisComponent
      end if

end function

La deuxième option exige que monDocument ait le focus.

Merci de ton aide,

Ph.

--


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à