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]