Bonsoir Frédéric,

Frédéric Dutertre a écrit :
Le Lundi 23 Janvier 2006 10:24, Pierre - Utilisateur d'OOo a écrit :

Bonjour,

En cherchant à résoudre mon problème :
 "Dupliquer une forme (sous Draw 2.0.1.)" (par macro !)
j'ai touvé la même solution dans le livre de "Programmation OOoBasic"
(p638) et sur des messages de cette liste : utiliser le presse-papier
et/ou l'enregistreur de macros.

Mais mon code ne semble pas fonctionner...

Sub CopieSelection
   Dim Fenetre As Object, Dispatch As Object
   Dim MaPage As Object
   Dim LesFormes As Object, LaForme As Object
   Dim CopiesFormes As Object
   Dim i As Long

   Fenetre = StarDesktop.CurrentFrame
   Dispatch = createUnoService("com.sun.star.frame.DispatchHelper")
   MaPage = thisComponent.CurrentController.CurrentPage
   LesFormes = thisComponent.CurrentSelection
   if(IsNull(LesFormes)) then
      print "Cette macro ne peut fonctionner que si vous avez
sélectionné un/des objet/s."
   else
      Dispatch.executeDispatch(Fenetre, ".uno:Copy", "", 0, Array())
      Dispatch.executeDispatch(Fenetre, ".uno:Past", "", 0, Array())
   end if
End Sub

Outre la faute de frappe sur Paste, je crois qu'il faut déselectionner, sinon on écrase la sélection. (Voir les macros de Danny Brewer http://www.oooforum.org/forum/viewtopic.phtml?t=3999&highlight=object+duplicate)


Le code, une fois corrigé, semble fonctionner parfaitement.
Il n'est pas (plus ?!) nécessaire de déselectionner les formes...
Merci.

--
Pierre
Utilisateur d'OpenOffice.org, Thunderbird, Firefox, Nvu,...
--
Vive la liberté !
Merci à tous les contributeurs des projets libres.

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

Répondre à