#1 Le 09/01/2017, à 19:51
- papywil
[Pas résolu] le format date dans une macro
Bonjour à tous !
Une macro dans le traitement de texte LibreOffice appelée « essais » que je viens de réaliser devrait produire la date du jour dans le format « 8 janvier 2017 ». Lorsque j'appelle cette macro elle produit la date en format nombre à savoir « 42743 » sauf si préalablement au lancement de la macro j'ai ouvert et fermé sans rien activer la fenêtre « insertion/champs/autres champs ».
Etrange ! Voici le script de la macro :
sub essais
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(5) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Type"
args1(0).Value = 0
args1(1).Name = "SubType"
args1(1).Value = 0
args1(2).Name = "Name"
args1(2).Value = ""
args1(3).Name = "Content"
args1(3).Value = "0"
args1(4).Name = "Format"
args1(4).Value = 10076
args1(5).Name = "Separator"
args1(5).Value = " "
dispatcher.executeDispatch(document, ".uno:InsertField", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:InsertPara", "", 0, Array())
end sub
Qu'est-ce qui manque pour que cela fonctionne comme souhaité ? Merci.
Edit : mise entre balises code
Dernière modification par papywil (Le 13/01/2017, à 16:46)
Hors ligne
#2 Le 09/01/2017, à 20:03
- J5012
Re : [Pas résolu] le format date dans une macro
ne faut-il pas prealablement charger le composant champs (fields), equivalent à une ouverture de "insertion champs" ?
Hors ligne
#3 Le 10/01/2017, à 15:56
- papywil
Re : [Pas résolu] le format date dans une macro
Ah ? Merci c'est peut-être une bonne idée mais on fait comment ?
Hors ligne
#4 Le 10/01/2017, à 16:07
- jplemoine
Re : [Pas résolu] le format date dans une macro
42743 = nombre de jours depuis le 01/01/1900 = stockage de la date.
Ensuite, on recrée la date au format humain en fonction du paramétrage.
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Hors ligne
#5 Le 10/01/2017, à 23:22
- J5012
Re : [Pas résolu] le format date dans une macro
il y a l'instruction date qui produit la date du jour
Aide libreoffice basic
Date et heure du système
Les fonctions et les instructions suivantes définissent ou rétablissent la date et l'heure du système.Instruction Date [Exécution]
Renvoie la date courante de l'ordinateur sous forme de chaîne de caractères ou réinitialise la date. Le format de date varie en fonction des paramètres définis pour votre système.Syntaxe : Date ; Date = Text As String
Paramètres :
Text : pour réinitialiser la date de l'ordinateur uniquement. Dans ce cas, l'expression au format chaîne de caractères doit correspondre au format de date défini dans vos paramètres locaux.Exemple : Sub ExampleDate Msgbox "La date est le " & Date End Sub
Hors ligne
#6 Le 13/01/2017, à 16:49
- papywil
Re : [Pas résolu] le format date dans une macro
Merci mais je ne crois pas que cette solution puisse convenir dans une macro de traitement de texte.
Hors ligne
#7 Le 14/01/2017, à 21:27
- J5012
Re : [Pas résolu] le format date dans une macro
Merci mais je ne crois pas que cette solution puisse convenir dans une macro de traitement de texte.
comment ca ?
la macro n'est-elle pas supposée s'executer à partir d'un document existant ?
Hors ligne