Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Bonsoir ;

Je rebondis sur la question de dav (sur la liste users), qui rejoint un
problème que j'ai constaté en fin de semaine dernière et que je n'avais
pas eu le temps de rapporter.

Il s'agit d'une application pour laquelle les étudiants doivent réaliser
une macro par enregistrement. Cette macro sélectionne une plage de
cellules sur une feuille, se déplace sur une autre feuille, se
positionne sur la ligne 4, insère la plage copiée par "collage spécial"
(flags nombre, texte, date et format plus déplacement vers le bas),
sélectionne quelques lignes après cette insertion, les trie en ordre
croissant puis revient sur la feuille initiale pour faire quelques
autres actions.

Je fais réaliser cette activité depuis plusieurs années. Cette macro -
aussi bien son corrigé réalisé par mes soins que les versions réalisées
par les étudiants - a toujours marché sans aucun aucun problème, aussi
bien sur OpenOffice que sur LibreOffice. Sauf cette année. La différence
est la version utilisée, 4.0.4 alors que nous utilisions une version 3.5
l'an dernier.

Dans tous les cas, la sécurité des macros est réglée pour qu'elles
puissent s'exécuter, le répertoire d'enregistrement du fichier étant
déclaré en "zone de confiance".

Ce qui se passe est que l'ordre "copier"
<dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())> ne
semble plus s'exécuter ou ne s'exécute qu'une fois après
l'enregistrement. Que celle-ci soit appelée par le menu ou associée à un
bouton, c'est toujours le même résultat, les cellules copiées sont
celles  récupérées lors du dernier enregistrement de la macro. Autre
bizarrerie, si on exécute la macro en pas à pas, ça marche. Si on
l'exécute normalement, ça ne copie pas. Le problème existe toujours
quelles que soient les options du collage spécial, il semble bien venir
de la copie qui ne se fait pas. Il subsiste aussi si on recrée un
classeur neuf.

Le lycée est sous 4.0.4 (et un poste sur lequel j'ai mis la 4.0.5 pour
test) et W7 32 bits. Je reproduis le problème chez moi, sur une 4.1.1
sous W8/64 et sur une 4.1.1.2 sous Ubuntu 12.04. Après migration vers la
4.2.1.3 (sous W8/64), le problème ne disparaît pas.

Et enfin, dernier test, une réinitialisation du profil ne change rien :
la copie ne veut toujours pas s'exécuter. Par contre, aucun problème sur
une 3.5.7.2 (sous Ubuntu) : la copie se fait sans difficulté.

Un fichier exemple est ici : http://cjoint.com/?0JwuOPQOhEj. Ce n'est
pas le fichier complet sur lequel j'ai constaté le problème, mais il le
reproduit.

Je ne sais pas s'il y a d'autres instructions qui ne marchent plus, il
faudrait faire des tests plus complets. Mais une simple copie de
cellules, ça représente à mon sens une sérieuse régression.

Reproduisez-vous sous d'autres environnements ?

Marc



Le 22/10/2013 16:14, pierre-yves samyn a écrit :
Bonjour


dav wrote
depuis que j'ai fais la mise a jours la version 4.0 mes macros ne
fonctionnent plus. ou plutot elle ont un fonctionnement totalement
aléatoires, une fois elle fonctionne et souvent pas du tout
En matière de macro je ne vois pas, a priori, comment un changement
de version pourrait générer un fonctionnement aléatoire. Des changements
pourraient empêcher *totalement* quelque chose de fonctionner.

Il se pourrait que le problème soit lié au "profil" (éventuellement récupéré
lors du changement de version). Ceci peut se tester et résoudre de la
manière
indiquée dans cette FAQ :
https://wiki.documentfoundation.org/FR/FAQ/Generale/110

La page de téléchargement : http://fr.libreoffice.org/telecharger/
donne le lien pour trouver une ancienne version :
http://downloadarchive.documentfoundation.org/libreoffice/old/

Mais... il serait bien sûr préférable d'identifier le problème et de le
résoudre.

Cordialement
Pierre-Yves



--
View this message in context: 
http://nabble.documentfoundation.org/macro-version4-0-tp4079234p4079238.html
Sent from the Users mailing list archive at Nabble.com.



-- 
Envoyez un mail à qa+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/qa/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.