[fr-users] Re: Calc - styles chargés par macro erronés

2015-07-07 Par sujet pierre-yves samyn
Bonjour Michel


Michel Rudelle wrote
 Euréka, ça marche du tonnerre !
 J'ai ramé un peu, j'ai suivi l'idée et je me suis aidé de la bible et de
 Xray.

J'aurais dû expliquer mieux ? Au final je ne vois pas de différence d'avec 
le code que je t'avais donné

Hormis le fait de tester sur 0 au lieu de -1 le retour de queryKey.

Pour ce cas particulier il y a peu de chances que l'api évolue mais de 
manière générale cette modification ne me semble pas une bonne idée:

*Pour le moment* la fonction renvoie -1 (donc qq chose de négatif)
mais si un développeur rajoute des conditions et codes... Il vaut 
mieux prendre strictement la valeur indiquée.

Voir  API
http://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1util_1_1XNumberFormats.html#ac5022a94174fe108615eeaccd7a0e59c
  


Michel Rudelle wrote
 Pourquoi la clé du même format de nombre est-elle différente dans les deux
 documents ???

Je n'ai pas regardé le mécanisme de création de la clé mais je doute qu'il
soit
fondé sur le texte du format, plus vraisemblablement sur l'ordre de
création.

Cordialement
Pierre-Yves



--
View this message in context: 
http://nabble.documentfoundation.org/Calc-styles-charges-par-macro-errones-tp4153307p4153805.html
Sent from the Users mailing list archive at Nabble.com.

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


[fr-users] Re: Calc - styles chargés par macro erronés

2015-07-07 Par sujet pierre-yves samyn
Suite...


Michel Rudelle wrote
 Je viens de découvrir que le code que tu m'avais transmis n'est visible
 QUE
 sur Nabble mais n'est pas dans ma messagerie. Je n'étais pas allé sur
 Nable
 et faute de voir le code dont tu parlais, je suis parti à la découverte
 avec
 seulement le fil conducteur qui était dans le corps du message. C'est très
 formateur !

Oui mais je me sens un peu bête quand même parce que...


Michel Rudelle wrote
 Et un mystère de plus, pourquoi ce code n'est pas dans ma messagerie ?

...c'est sans doute parce que je l'ai balisé avec la mise en forme Nabble
(raw text). Le mieux est quand même parfois l'ennemi du bien.

Désolé pour cette erreur... et bravo pour la recherche en profondeur
dans l'Api :)

Cordialement
Pierre-Yves



--
View this message in context: 
http://nabble.documentfoundation.org/Calc-styles-charges-par-macro-errones-tp4153307p4153808.html
Sent from the Users mailing list archive at Nabble.com.

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


RE: [fr-users] Re: Calc - styles chargés par macro erronés

2015-07-07 Par sujet Michel Rudelle
Bonjour Pierre-Yves,

Euh, non tu n'aurais pas pu expliquer mieux, la preuve j'y suis arrivé,
mais:

Je viens de découvrir que le code que tu m'avais transmis n'est visible QUE
sur Nabble mais n'est pas dans ma messagerie. Je n'étais pas allé sur Nable
et faute de voir le code dont tu parlais, je suis parti à la découverte avec
seulement le fil conducteur qui était dans le corps du message. C'est très
formateur !

Et un mystère de plus, pourquoi ce code n'est pas dans ma messagerie ?

Cordialement
Michel

 -Message d'origine-
 De : pierre-yves samyn [mailto:pierre-yves.sa...@laposte.net]
 Envoyé : mardi 7 juillet 2015 08:36
 À : users@fr.libreoffice.org
 Objet : [fr-users] Re: Calc - styles chargés par macro erronés
 
 Bonjour Michel
 
 
 Michel Rudelle wrote
  Euréka, ça marche du tonnerre !
  J'ai ramé un peu, j'ai suivi l'idée et je me suis aidé de la bible et de
  Xray.
 
 J'aurais dû expliquer mieux ? Au final je ne vois pas de différence d'avec
 le code que je t'avais donné
 
 Hormis le fait de tester sur 0 au lieu de -1 le retour de queryKey.
 
 Pour ce cas particulier il y a peu de chances que l'api évolue mais de
 manière générale cette modification ne me semble pas une bonne idée:
 
 *Pour le moment* la fonction renvoie -1 (donc qq chose de négatif)
 mais si un développeur rajoute des conditions et codes... Il vaut
 mieux prendre strictement la valeur indiquée.
 
 Voir  API
 http://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1ut
 il_1_1XNumberFormats.html#ac5022a94174fe108615eeaccd7a0e59c
 
 
 Michel Rudelle wrote
  Pourquoi la clé du même format de nombre est-elle différente dans les
 deux
  documents ???
 
 Je n'ai pas regardé le mécanisme de création de la clé mais je doute qu'il
 soit
 fondé sur le texte du format, plus vraisemblablement sur l'ordre de
 création.
 
 Cordialement
 Pierre-Yves
 
 
 
 --
 View this message in context: http://nabble.documentfoundation.org/Calc-
 styles-charges-par-macro-errones-tp4153307p4153805.html
 Sent from the Users mailing list archive at Nabble.com.
 
 --
 Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment
 vous désinscrire
 Les archives de la liste sont disponibles à
 http://listarchives.libreoffice.org/fr/users/
 Tous les messages envoyés sur cette liste seront archivés publiquement et
 ne pourront pas être supprimés


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



RE: [fr-users] Re: Calc - styles chargés par macro erronés

2015-07-06 Par sujet Michel Rudelle
Bonsoir Pierre-Yves,

 -Message d'origine-
 De : pierre-yves samyn [mailto:pierre-yves.sa...@laposte.net]
 Envoyé : dimanche 5 juillet 2015 12:54
 À : users@fr.libreoffice.org
 Objet : [fr-users] Re: Calc - styles chargés par macro erronés
 
 Bonjour Michel
 
 
 Michel Rudelle wrote
  Je copie  des styles de cellule d’un classeur vers un autre grâce à la
  procédure suivante :
  ...
  si certains styles sont corrects, d’autres ont perdu leur définition en
  route !
  ...
  J’ai cherché mais n’ai pas trouvé de bug correspondant.
 
 Ben... c'est parce que ce n'est pas un bug me semble-t-il.
 
 Tu récupères les styles mais les styles utilisent des formats qui en
 l'occurrence sont personnalisés, donc, propres au classeur source.
 La solution est de récupérer aussi ces formats.
 
 Ci-dessous un code à tester (il y a peut-être plus performant mais
 là tout de suite j'ai fait avec ce que je savais sans rechercher plus
 avant
 dans l'Api).
 
 Explications :
 
 J'utilise loadStylesFromDocument puisque tu récupères les styles de
 thiscomponent. Pas besoin de passer par un chargement url.
 
 Quand les styles sont chargés...
 Pour chaque style de cellule de la source (thiscomponent)...
 À partir de la clé on récupère son format...
 Si c'est un format utilisateur...
 On recherche ce format dans la cible (formats de syntheseSF)...
 Si on ne trouve pas ce format on l'ajoute ce qui donne une nouvelle clé...
 Que l'on attribue au style de même nom dans la cible (syntheseSF)
 
 PS: je fais l'hypothèse que la locale était la même entre les classeurs...
 
 J'espère que c'est (relativement) clair... :)
 

Euréka, ça marche du tonnerre !

J'ai ramé un peu, j'ai suivi l'idée et je me suis aidé de la bible et de
Xray.
Mais il reste un mystère: Pourquoi la clé du même format de nombre est-elle
différente dans les deux documents ???

Encore merci,
Michel

PS: Voici le petit bout de Procédure que j'ai fait pour ça:

Sub copieFormatNombre(docOrigine As Object, docCible As Object, nomDuStyle
As String)

'   docOrigine et docCible sont deux documents ouverts
'   nomDuStyle est le nom du style dans les deux documents

'retour avec le style mis correctement à jour dans le document cible

Dim maLangue As New com.sun.star.lang.Locale
Dim cleDoc1 As Long, cleDoc2 As Long, x As Long
Dim unFormat As Object, nomDuFormat As String

'1/ dans le document d'origine, recherche du format de nombre personnalisé
utilisé dans le style copié

'récupérer le NumberFormat correspondant (la clé)
cleDoc1 =
docOrigine.StyleFamilies.getByName(CellStyles).getByName(nomDuStyle).Numbe
rFormat
'récupérer l'objet format correspondant à ce NumberFormat pour en obtenir le
nom (en fait ce que l'on voit dans Description du Format)
unFormat = docOrigine.NumberFormats.getByKey(cleDoc1)
nomDuFormat = unFormat.FormatString

'2/ recherche de l'existence de ce format dans le document cible et ajout
dans le style s'il n'existe pas

maLangue.Language = fr
maLangue.Country = FR
x = docCible.NumberFormats.queryKey(nomDuFormat, maLangue, False)
'renvoie le NumberFormat si le format est présent, sinon négatif
If x  0 Then
cleDoc2 = docCible.NumberFormats.addNew(nomDuFormat, maLangue)

docCible.StyleFamilies.getByName(CellStyles).getByName(nomDuStyle).NumberF
ormat = cleDoc2
End If

End Sub


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