Le 2005-04-11 11:53, Matthieu Coutiere a écrit :
Je n'arrive pas à formater des dates dans Writer :
le code :
dim d2 as date
d2 = DateSerial(2002, 6, 8)
print d2
print Format(d2, "DD MMMM YYYY")
me donne irrémédiablement 08/06/02 (deux fois), et ni le Livre, ni les docs en
ligne ne m'ont donné de solution...
Deux questions :
* comment utiliser la commande Format ? N'est-ce pas la bonne syntaxe ?
Tu remarqueras que dans l'aide en ligne on ne donne que des exemples de
formatage de nombres.
Dans le Guide du Programmeur page 58 on trouve en encadré :
Les instructions de formatage utilisées dans VBA pour date et l'heure ne
sont pas supportées par StarOffice Basic.
* peut-on utiliser des champs ? Je pourrais mettre un champ de date au bon
format dans mon texte, puis le peupler (champ.Value = DateSerial(2002, 6, 8)),
mais je n'arrive pas à trouver la syntaxe pour accéder au champ (pour les
champs utilisateurs, tels que le nom de l'auteur, etc, c'est ok).
(là non plus, d'ailleurs, je n'ai pas trouvé de solution dans le Livre)
Il faut te plonger dans la doc de l'API : com.sun.star.text > module
TextField > service DateTime > propriété NumberFormat > voir
com.sun.star.util.NumberFormatter
Arrivé ici la doc conseille de lire le 6.2.5 du Developer's guide.
Les formats de nombre sont mémorisés par OOo et accédés par une clé.
C'est succintement décrit dans le livre pages 309-313.
Bref, ce sera nettement plus simple et rapide de faire une petite
fonction Basic pour formater ta date grâce aux fonctions de conversion
de date.
Bonne journée
Bernard