8 messages in org.openoffice.fr.progRe: [prog] format des annotations dan...
FromSent OnAttachments
Pascal DutermeApr 20, 2006 11:07 pm 
Bernard MarcellyApr 21, 2006 4:15 am 
Pascal DutermeApr 21, 2006 11:38 pm 
Bernard MarcellyApr 22, 2006 3:37 am 
Francois GattoApr 23, 2006 10:59 am 
Bernard MarcellyApr 23, 2006 1:50 pm 
Francois GattoApr 23, 2006 10:24 pm 
pacApr 24, 2006 5:12 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] format des annotations dans une feuille de calculActions...
From:Francois Gatto (oo@volcar.org)
Date:Apr 23, 2006 10:24:31 pm
List:org.openoffice.fr.prog

Bonjour Bernard,

Bernard Marcelly a écrit :

Bonsoir Francois Gatto Message du 2006-04-23 19:59:

J'ai fait quelques tests sur les fonds de notes. La réalisation présentée ci-après permet de conserver la colorisation, mais après réouverture un élément parasite (Ancre) s'affiche.

Si j'exécute ton codage j'obtiens (sous Win XP) une anomalie un peu différente: au rechargement du document modifié, je vois un double de la note qui s'étale sur les cellules A1:E1

Je me suis mal exprimé, mais c'est bien de cela qu'il s'agit.

En faisant un codage plus simple que le tien, j'ai toutefois un résultat parfait, même après rechargement du document:

Dim monDocument As Object, lesFeuilles As Object Dim maFeuille As Object, maCellule Dim lesNotes As Object Dim laNote As Object, formeNote As Object monDocument = thisComponent lesFeuilles = monDocument.Sheets maFeuille = lesFeuilles.getByName("Feuille1") maCellule = maFeuille.getCellRangeByName("G8") maCellule.String = "La cellule comporte une note" lesNotes = maFeuille.Annotations lesNotes.insertNew(maCellule.CellAddress, "dimanche en couleur") laNote = maCellule.Annotation formeNote = laNote.AnnotationShape formeNote.FillStyle = 1 formeNote.FillColor = 253672

Une différence *apparemment* mineure est que je n'appelle pas de sous-programme.

Effectivement ;)

Mais si je reprends les 4 dernières lignes pour en faire

un sous-programme ModifAnnotation(uneCellule as object) alors patatra ! Au rechargement du document modifié, je retrouve l'anomalie décrite plus haut.

Pire, c'est un problème de transmission d'argument. J'ai écrit ce sous-programme:

sub modifier(c as Object)

end sub

Il ne fait rien! Maintenant j'ajoute ceci dans mon programme principal:

modifier(maCellule) laNote = maCellule.Annotation ' le reste du codage n'est pas modifié

Cela suffit à déclencher l'anomalie! L'objet maCellule est anormal, parce que si je transmets maFeuille, plus d'anomalie.

Donc c'est un bogue ! Un bogue de l'object maCellule ou bogue lors du passage d'arguments ? A moins que ce ne soit sBasic lui-même ?

C'est un comportement tout à fait incohérent. Je pense que la bogue n'a pas été totalement contournée, et qu'elle perturbe le fonctionnement de Basic. Ma conclusion : attendre la correction complète de IZ 63053

Bernard

En tout cas merci.