1 (edited by cbonnissent 2015-05-11 07:22:33)

Topic: CSV : comment les ouvrir directement dans openoffice/libreoffice

Si vous utilisez les CSV pour paramétrer vos familles sous Dynacase, vous avez pu remarquer que la fenêtre de paramétrage des options de libre/openoffice est vite fastidieuse. Voila, un moyen simple de s'en débarasser :

Il faut ajouter la macro suivante (et sa fonction) :

Sub ShowFilterOptions()
args = thiscomponent.getArgs()
for i = 0 to uBound(args())
   if args(i).Name = "FilterOptions" then
      inputbox "FilterOptions: ","ShowFilterOptions", args(i).Value
      exit for
   endif
next
End Sub
Sub openSpecialCSV(optional arg)
'calls getusedRange, getopenCSV
REM this is derived from a manually opened file and Sub ShowFilteroptions:
Const myFilterOptions$ = "59,0,76,1,,1036,false,false"
   if isMissing(arg) then
      Msgbox "Missing File"
      exit sub
   elseif not FileExists(arg) then
      Msgbox arg &" is not a file"
      exit sub
   else
      csvURL = ConvertToURL(arg)
      oCSV = getOpenCSV(csvURL, myFilterOptions)
   endif
End Sub
Function getOpenCSV(sURL$,sFilterOptions$)
Dim aProps(1) As New com.sun.star.beans.PropertyValue
    aProps(0).Name = "FilterName"
    aProps(0).Value = "Text - txt - csv (StarCalc)"
    aProps(1).Name = "FilterOptions"
    aProps(1).Value = sFilterOptions
    getOpenCSV = StarDesktop.loadComponentFromURL(sURL, "_blank",0, aProps())
    colorAndSize()
end Function

Et ensuite lancer le programme de la manière suivante :

libreoffice 'macro:///Standard.Module1.openSpecialCSV(<ton_path)'

On peut aussi l’ajouter en external tools :

macro:///Standard.Module1.openSpecialCSV($FilePath$)

NB : si vous souhaiter changes les paramétrages d’ouverture, vous pouvez exécuter la macro ShowFilterOptions et récupérer les paramètres en cours ( Const myFilterOptions$ = "59,0,76,1,,1036,false,false").

Merci à http://www.oooforum.org/forum/viewtopic … p;start=15