FAQ LibreOffice et Apache OpenOfficeConsultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 359, dernière mise à jour : 15 juillet 2017 Ajouter une question
Bienvenue sur la FAQ, elle a été réalisée pour répondre aux questions concernant les suites bureautiques Apache OpenOffice (AOO) et LibreOffice (LibO).
Si vous souhaitez participer pour l'améliorer, pour proposer vos contributions ou si vous constatez des erreurs dans cette page, n'hésitez-pas !!! Participez.
- Comment lister le nom des filtres disponibles ?
- Comment créer une copie du classeur au format PDF ?
- Comment créer une copie d'une présentation Présentation au format Flash (.swf) ?
- Comment convertir un fichier sxw au format odt par macro ?
- Comment convertir chaque feuille d'un classeur au format CSV ?
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | Sub ListerFiltresConversion() Dim oDesktop As Object , oDoc As Object Dim Fichier As String Dim Args() Dim filtresFact As Object Dim nomFiltres As Variant Dim i As Integer '-------- oDesktop = createUnoService("com.sun.star.frame.Desktop") Fichier = "private:factory/scalc" 'Création d'un nouveau tableur pour lister le résultat de la macro oDoc = oDesktop.LoadComponentFromURL(Fichier, "_blank", 0, Args()) 'Spécifie la 1ère feuille du classeur Feuille = oDoc.getSheets.getByIndex(0) '------- '--- Liste les filtres --- filtresFact = createUnoService( "com.sun.star.document.FilterFactory" ) nomFiltres = filtresFact.getElementNames() For i = LBound(nomFiltres) To UBound(nomFiltres) Feuille.getCellByPosition( 0 , i ).String = nomFiltres( i ) Next '------------------------- '--- Ajuste la taille de la colonne en fonction du contenu --- Feuille.Columns(0).OptimalWidth = true '------------------------------------------------------------- End Sub |
Le classeur doit être préalablement sauvegardé au format natif.
L'exemple va créer un copie au format PDF dans le même répertoire. Si le classeur contient plusieurs onglets, ils seront tous enregistrés, à la suite, dans le même fichier PDF.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | Sub Convertir_Calc_Vers_PDF dim ArgsProprietes(2) as new com.sun.star.beans.PropertyValue dim Fichier as string dim oDoc as object '--- Le fichier Tableur doit être préalablement enregistré --- 'sinon .URL renvoie une chaîne vide. '---------------------------------------------------------- 'Indique le nom de la sauvegarde au format pdf. '(Le fichier PDF sera créé dans le même répertoire que le tableur.) Fichier = _ Left( ThisComponent.URL , Len(ThisComponent.URL) - 4 ) & ".pdf" '--- Sauvegarde les modifications dans le classeur --- ThisComponent.Store '--- Spécifie le filtre de conversion --- ArgsProprietes(0).Name = "FilterName" ArgsProprietes(0).Value = "calc_pdf_Export" ArgsProprietes(1).Name = "CompressMode" ArgsProprietes(1).Value = 1 '--- Crée une copie de sauvegarde au format PDF --- 'Remarque : Tous les onglets non vides sont enregistrés à la suite, dans le 'même fichier PDF. ThisComponent.storeToUrl( Fichier , ArgsProprietes()) End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 | Sub Conversion_Impress_Flash Dim ArgsProprietes(1) As new com.sun.star.beans.PropertyValue Dim Fichier As String Fichier = ConvertToURL( "C:\leFichier.swf" ) '--- Spécifie le filtre de conversion --- ArgsProprietes(0).Name = "FilterName" ArgsProprietes(0).Value = "impress_flash_Export" '--- Crée une copie de sauvegarde au format Flash (.swf) --- ThisComponent.storeToUrl( Fichier , ArgsProprietes()) End Sub |
Dans la version 1.x, les documents texte étaient créés au format .sxw.
Ces formats sont toujours utilisables dans la version 2.x mais vous pouvez aussi les convertir aux formats .odt qui sont le nouveau standard OpenDocument:
Pour effectuer la conversion d'un ou plusieurs documents :
- menu Fichier ;
- Assistants ;
- Convertisseur de documents ;
- sélectionnez les types de documents à convertir :
- cochez l'option « StarOffice », puis les « Documents texte » et « Classeurs »,
- cliquez sur le bouton « Suivant » :
- décochez ou cochez les options qui vous intéressent dans la nouvelle fenêtre et paramétrez les différentes
- zones d'information :
- le champ « Import depuis: » correspond au dossier contenant les fichiers à convertir,
- le champ « enregistrer dans: » correspond au dossier de destination pour les nouveaux fichiers convertis,
- cliquez sur le bouton « Suivant » ;
la fenêtre de paramétrage s'affiche une nouvelle fois si vous avez choisi de convertir plusieurs types de fichiers (Documents texte et Classeurs) ;
cliquez sur le bouton « Suivant » ;
cliquez sur le bouton « Convertir » pour lancer l'opération ;
cliquer sur le bouton « Fermer » dans la boite de dialogue ;
ouvrez le répertoire de destination que vous avez précédemment indiqué afin de visualiser le résultat de la conversion.
Vous pouvez aussi effectuer les conversions par macro:
cet exemple ouvre un fichier sxw et le convertit au format odt.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | Sub Conversion_SXW_Vers_ODT Dim Cible As String , CibleURL As String Dim Fichier As Object Dim Args(0) As New com.sun.star.beans.PropertyValue Dim Args2(2) As New com.sun.star.beans.PropertyValue 'Les arguments pour masquer le fichier pendant le traitement Args(0).Name = "Hidden" 'nom de l'argument Args(0).Value = True 'valeur de l'argument Cible = "C:\essai.sxw" 'Adresse au format URL, du document sxw à convertir CibleURL = convertToURL(Cible) 'Ouverture du document sxw Fichier = StarDesktop.LoadComponentFromURL( CibleURL , "_blank", 0 , Args() ) 'Modification de l'adresse en .odt CibleURL = convertToURL( left( Cible, len(Cible)-3 ) + "odt" ) 'Les arguments pour enregistrer le document en .odt Args2(0).Name = "URL" Args2(0).Value = CibleURL Args2(1).Name = "FilterName" Args2(1).Value = "writer8" Args2(2).Name = "SelectionOnly" Args2(2).Value = True 'Sauvegarde du fichier Fichier.storeAsURL( CibleURL , Args2() ) 'Fermeture Fichier.Close( True ) End Sub |
L'exemple boucle sur les feuilles du classeur et enregistre chacune au format CSV, dans le même répertoire que le fichier original.
Le classeur original est supposé déjà enregistré sur le disque.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Dim oDoc As Object Dim i As Integer Dim EnrArgs(1) As New com.sun.star.beans.PropertyValue Dim Chemin As String , NomFeuille As String oDoc = ThisComponent ' Boucle sur les feuilles For i = 1 to oDoc.Sheets.Count NomFeuille = oDoc.Sheets(i-1).Name ' Active la feuille ThisComponent.CurrentController.ActiveSheet = oDoc.Sheets(i-1) Chemin = Left(oDoc.URL, Len(oDoc.URL) - Len(Dir(ConvertFromURL(oDoc.URL))) '--- Spécifie le filtre de conversion --- EnrArgs(0).Name = "FilterName" EnrArgs(0).Value = "Text - txt - csv (StarCalc)" ' Sauvegarde dans le même répertoire que le classeur original oDoc.storeToURL( ConvertToURL(Chemin & NomFeuille & ".csv"), EnrArgs()) Next |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.