Bonjour,
Pour le boulot, on a des fichiers CSV, séparés par des tabulations, sans " pour séparer les champs textes.
Jusqu'à maintenant, sous 2.3 (car Ubuntu Gutsy Gibbon), l'ouverture se faisait via un filtre parametrable une fois pour toute (OOo se souvenait des mode d'ouverture d'un fichier CSV à un autre).
Mais maintenant, avec le 2.4.1 (car Ubuntu Hardy Heron), à chaque ouverture, par défaut, le séparateur est la virgule et les champs textes sont entourés de " et il nous faut à chaque fois penser à décocher, cocher la tabulation, et enlever les " (sinon, ça nous fait un fichier pas beau...)
J'ai un peu cherché mais n'ai pas trouvé : y a-t-il un moyen pour parametrer l'ouverture des CSV une fois pour toute ?
Merci !
CSV : ouverture sous OOo 2.4.1
Modérateur : Vilains modOOs
Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
-
- Fraîchement OOthentifié
- Messages : 8
- Inscription : 17 mai 2008 16:23
CSV : ouverture sous OOo 2.4.1
Open Office 2.4.1 sous Ubuntu Hardy
-
- NOOuvel adepte
- Messages : 23
- Inscription : 14 août 2008 08:55
Re: CSV : ouverture sous OOo 2.4.1
Bonjour,
voici une solution
il faut l'ouvrir une fois en lançant la macro suivante après avoir indiqué le bon fichier.
il faut renseigner correctement tous les paramètres
et l'on récupère les options de filtre dans la cellule active du classeur
ensuite on renseigne le module suivant avec ces options (ligne PysOpt = "59,0,ANSI,1,")
le fichier csv s'importe dans le classeur en cours dans une feuille nommée ARemplacer
il ne reste plus qu'à lancer ce dernier module à chaque fois que l'on veut importer le fichier
l'espère avoir été assez précise
tous ces codes ont été trouvé sur ce forum
voici une solution
il faut l'ouvrir une fois en lançant la macro suivante après avoir indiqué le bon fichier.
il faut renseigner correctement tous les paramètres
et l'on récupère les options de filtre dans la cellule active du classeur
Code : Tout sélectionner
Sub aexecuter
GetFilterOptionsFromCSVImportDialog("c:\d2.csv")
End Sub
function GetFilterOptionsFromCSVImportDialog(sUrl) as String
'===========================================================
GetFilterOptionsFromCSVImportDialog = ""
Dim oSFA as Object
Dim oInputStream as Object
Dim o as Object
Dim aPropOut as Object
oSFA = createUNOService ("com.sun.star.ucb.SimpleFileAccess")
oInputStream = oSFA.openFileRead(sUrl)
Dim aProps(3) as new com.sun.star.beans.PropertyValue
aProps(0).Name = "FilterOptions"
aProps(0).Value = ""
aProps(1).Name = "URL"
aProps(1).Value = sUrl
aProps(2).Name = "FilterName"
aProps(2).Value = "Text - txt - csv (StarCalc)"
aProps(3).Name = "InputStream"
aProps(3).Value = oInputStream
o = createUnoService("com.sun.star.ui.dialogs.FilterOptionsDialog")
o.setPropertyValues(aProps())
if o.execute() = com.sun.star.ui.dialogs.ExecutableDialogResults.OK then
aPropOut = o.getPropertyValues()
ThisComponent.getCurrentSelection.String=aPropOut(0).value
'msgbox aPropOut(0).value
GetFilterOptionsFromCSVImportDialog = aPropOut(0).Value
endif
oInputStream.closeInput()
end function
ensuite on renseigne le module suivant avec ces options (ligne PysOpt = "59,0,ANSI,1,")
le fichier csv s'importe dans le classeur en cours dans une feuille nommée ARemplacer
Code : Tout sélectionner
Sub ExoCopierFeuilleParLien
dim PysFeuille as object
dim PysURL as string, PysFilter as string, PysOpt as string
dim PysMode as integer
dim oSheets As Object, oSheet As Object
dim sUrl
oSheets = thisComponent.Sheets
If oSheets.hasByName("ARemplacer") Then
PysFeuille = oSheets.getByName("ARemplacer")
Else
PysFeuille = thisComponent.createInstance("com.sun.star.sheet.Spreadsheet")
oSheets.insertByName("ARemplacer", PysFeuille)
PysFeuille.IsVisible = True
End If
'--L'adresse du fichier CSV
'PysURL = convertToUrl("d:\fc.csv")
'--Cette ligne pour sélectionner dans une boîte de dialogue
PysURL= BrowseForFile("Sélectionner un fichier csv", "Fichier CSV", "d:\", "*.csv")
if PysURL <>"" then
'--Paramètres nécessaires à la copie
PysFilter = "Text - txt - csv (StarCalc)"
PysOpt = "59,0,ANSI,1," 'Adapter en fonction du fichier CSV
PysMode = com.sun.star.sheet.SheetLinkMode.NORMAL
'--Insertion de la feuille par "lien"
PysFeuille.link(PysURL, "", PysFilter, PysOpt, PysMode)
'--Déconnection du lien
PysFeuille.setLinkSheetName("")
PysFeuille.LinkDisplayName
PysFeuille.LinkUrl=""
PysFeuille.setLinkMode(com.sun.star.sheet.SheetLinkMode.NONE)
end if
End Sub
function BrowseForFile(sTitle as String, sFilterName as String, sStartDirectory as String, sFilter as String) as String
'======================================================================
dim ars, o
o=CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
o.setTitle(sTitle)
o.appendFilter( sFilterName & " (" & sFilter & ")", sFilter)
o.setMultiSelectionMode(false)
o.setDisplayDirectory(ConvertToUrl(sStartDirectory))
if o.execute() = com.sun.star.ui.dialogs.ExecutableDialogResults.OK then
ars = o.getFiles()
BrowseForFile = ars(UBound(ars))
else
BrowseForFile = ""
endif
end function
l'espère avoir été assez précise
tous ces codes ont été trouvé sur ce forum
Window XP + OpenOffice 2.3
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: CSV : ouverture sous OOo 2.4.1
Etonnant car pour moi, le filtre de l''import CSV n'est pas enregistrable. Il y a d'ailleurs la (vieille) demande d'amélioration 14675 avec seulement 2 voix.Jerubuntu a écrit :Jusqu'à maintenant, sous 2.3 (car Ubuntu Gutsy Gibbon), l'ouverture se faisait via un filtre parametrable une fois pour toute (OOo se souvenait des mode d'ouverture d'un fichier CSV à un autre).
Faut voter et ajouter la balise [Issue] pour l'appel au vote.
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues
-
- InconditiOOnnel
- Messages : 769
- Inscription : 10 mars 2006 12:09
- Localisation : Rouen, France
Re: CSV : ouverture sous OOo 2.4.1
Bonsoir,
D'ailleurs cette issue ressemble bigrement à l'issue 3687. Cette dernière issue semble beaucoup plus active et le vote aura plus d'intérêt.
D'ailleurs cette issue ressemble bigrement à l'issue 3687. Cette dernière issue semble beaucoup plus active et le vote aura plus d'intérêt.
LibO 5.4.6.2 sous Ubuntu 16.04
-
- Fraîchement OOthentifié
- Messages : 8
- Inscription : 17 mai 2008 16:23
Re: CSV : ouverture sous OOo 2.4.1
(dsl du temps de réponse)
Merci des infos, je regarde ça sous peu.
Mais (question bête) : c'est quoi, ces issue
Merci des infos, je regarde ça sous peu.
Mais (question bête) : c'est quoi, ces issue
Open Office 2.4.1 sous Ubuntu Hardy
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: CSV : ouverture sous OOo 2.4.1
Si je te réponds : aller dans la section "A lire avant tout", regarder les signatures, faire une recherche...Jerubuntu a écrit :Mais (question bête) : c'est quoi, ces issue
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues