Bonsoir,

JCharles TEYSSIER a écrit :
Oui, c'est ce genre de chose que je cherche...sous windows (pas de bash, donc).

Si je comprend l'argument -invisible, il me permet de lancer ooo et de manipuler mon fichier avec des "API". Je ne sais pas à quoi cela correspond mais je l'imagine: un fichier de commandes que ooo execute (file->save as-> toto.csv par ex???)
Je vais essayer d'en savoir plus.

Quelqu'un aurait-il (elle) un exemple?
Jean-Charles

Serge LE LOUARNE a écrit :

JCharles TEYSSIER a écrit :

Bonjour,
j'aurais besoin d'extraire les données d'une page calc en automatique.
J'ai trouvé comment le faire pour M$ Excell mais je cherche depuis quelques heures maintenant pour ooo.

Il me faudrait obtenir un fichier au format type .csv à partir d'un .ods sans intervention manuelle.

Des idées?

Jean-Charles

Bonjour,

Un fichier batch faisant appel aux possiblités "en ligne de commande" de OOo. Plus d'infos ici : http://fr.openoffice.org/Documentation/How-to/Basic/command%20parameters.htm

a+
Serge

Tu peux créer un batch comme par exemple :

"C:\Program Files\OpenOffice.org 2.0.3\program\soffice" -invisible "macro:///Divers_Library.SaveCsvDoc.SaveAsCsv(%1)"
- Divers_Library est l'emplacement de la librairie (ici par défaut dans Mes macros)
- SaveCsvDoc est le nom du module
- SaveAsCsv est le nom de la macro dans le module

- (%1) permet de passer en paramètres le nom du fichier sous lequel on souhaite sauvegarder (il faut que cela soit prévu également au sein de ta macro)

exemple de macro

sub SaveAsCsv( optional newFileName as string)
dim oPathSettings as variant
dim aPath as string
dim aFile as string
dim oDoc as object
dim aSeparator as string
aSeparator = GetPathSeparator()
oPathSettings = CreateUnoService( "com.sun.star.util.PathSettings" )
aPath = convertFromUrl( oPathSettings.Work )
if right(aPath,1) <> aSeparator then aPath = aPath & aSeparator
aFile = convertToUrl( aPath & "resultats.csv" )
dim fileProperties(1) as new com.sun.star.beans.PropertyValue
fileProperties(0).Name = "FilterName"
fileProperties(0).Value = "Text - txt - csv (StarCalc)"
fileProperties(1).Name = "FilterOptions"
fileProperties(1).Value = "59,34,ANSI,1"
StarDesktop.loadComponentFromUrl( aFile,"_default",0,fileProperties() )
oDoc = ThisComponent
if newFileName = "" then
        newFileName = "resultats2.csv"
end if
newFileName = convertToUrl( aPath & newFileName & ".csv")
oDoc.storeToURL( newFileName, fileProperties() )
oDoc.Dispose()
end sub

pour exécuter le batch on lancera par exemple :
monbatch monfichier

où monbatch est le fichier .bat
et nom fichier le fichier que l'on souhaite obtenir en sortie.


--
Francois Gatto

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à