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 vérifier l'existence d'un fichier ?
- Comment copier un fichier sur le disque ?
- Comment afficher une boîte de dialogue pour sélectionner un fichier ?
- Comment récupérer des informations sur les propriétés des fichiers ?
- Comment retrouver la date et l'heure de création ou de dernière modification d'un fichier ?
- Comment récupérer le répertoire d'une URL ?
Première méthode :
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | Sub VerifierExistenceFichier_V01 Dim oSFA As Object Dim Fichier As String, urlFichier As String oSFA = createUnoService( "com.sun.star.ucb.SimpleFileAccess" ) Fichier = "C:\Documents and Settings\michel\dossier\nomFichier.txt" urlFichier = ConvertToURL( Fichier ) If oSFA.exists( urlFichier ) Then MsgBox "Le fichier existe." End Sub |
Cette deuxième méthode utilise la fonction FileExists
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 | Sub VerifierExistenceFichier_V02 Dim Fichier As String, urlFichier As String Fichier = "C:\Documents and Settings\michel\dossier\nomFichier.txt" urlFichier = ConvertToURL( Fichier ) MsgBox FileExists( urlFichier ) End Sub |
La procédure crée une copie de fichier vers un autre répertoire.
Nota :
Le fichier original n'est pas supprimé.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | Sub CopierFichier Dim Source As String , Destination As String Dim oSFA As Object Source = ConvertToUrl("C:\monFichier.ods") Destination = ConvertToUrl("C:\Documents and Settings\michel\dossier\monFichier.ods") oSFA = createUNOService ("com.sun.star.ucb.SimpleFileAccess") oSFA.copy(Source, Destination) End Sub |
Cet exemple affiche la boîte de dialogue « Ouvrir ».
Le fichier sélectionné est ensuite ouvert.
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Sub selectionFichier_puisOuverture() Dim Fichier As Object , ShExec As Object Dim X As Integer Fichier = CreateUnoService("com.sun.star.ui.dialogs.FilePicker") 'Spécifie le chemin par défaut lors de l'affichage de la boîte de dialogue Fichier.SetDisplayDirectory("C:\Documents and Settings\michel\dossier") 'Affiche la boîte de dialogue "Ouvrir" X = Fichier.Execute() If X = 1 Then MsgBox ConvertFromURL( Fichier.Files(0) ) 'Permet d'ouvrir le fichier sélectionné ShExec = createUnoService("com.sun.star.system.SystemShellExecute") ShExec.execute(Fichier.Files(0), "", 0) End If End Sub |
Il est possible de récupérer certaines informations sur différents types de fichiers, sans les ouvrir.
Cet exemple affiche les données qui apparaissent dans l'onglet « Général » lorsque vous faites un clic-droit sur un fichier, depuis l'explorateur Windows.
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 Test() proprietesFichier_getFile "C:\Documents and Settings\mimi\dossier\Nom Classeur.xls" proprietesFichier_getFile "C:\dossier\monAppli.exe" proprietesFichier_getFile "C:\dossier\le fichier.pdf" End Sub Sub proprietesFichier_getFile( Fichier As String ) Dim oObj As Object , Cible As Object Dim Valeur As Object Dim Resultat As String oObj = createUnoService("com.sun.star.bridge.OleObjectFactory") Cible = oObj.createInstance("Scripting.fileSystemObject") Valeur = Cible.GetFile(Fichier) Resultat = "Chemin : " & Valeur.ParentFolder.Path & Chr(10) & Chr(10) & _ "Chemin court : " & Valeur.shortpath & Chr(10) & Chr(10) & _ "Nom court : " & Valeur.ShortName & Chr(10) & Chr(10) & _ "Date creation : " & CDate( Valeur.DateCreated.Value ) & Chr(10) & Chr(10) & _ "Date derniere modification : " & CDate( Valeur.DateLastModified.Value ) & Chr(10) & Chr(10) & _ "Date dernier acces : " & CDate( Valeur.DateLastAccessed.Value ) & Chr(10) & Chr(10) & _ "Taille fichier : " & Valeur.Size & " octets" & Chr(10) & Chr(10) & _ "Type fichier : " & Valeur.Type & Chr(10) & Chr(10) & _ "Extension fichier : " & Cible.GetExtensionName(Valeur) & Chr(10) & Chr(10) & _ "Nom fichier sans extension : " & Cible.GetBaseName(Valeur) & Chr(10) & Chr(10) & _ "Nom fichier : " & Cible.GetFileName(Valeur) & Chr(10) & Chr(10) & _ "Chemin et nom complet : " & Cible.GetAbsolutePathName(Valeur) MsgBox Resultat End Sub |
La fonction FileDateTime permet de récupérer la date et l'heure de création ou de dernière modification d'un fichier, sans avoir besoin de l'ouvrir :
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 | Sub Main Dim Fichier As String 'La procédure renvoie une erreur si le fichier n'existe pas. Fichier = "C:\repertoire\NomFichier.pdf" MsgBox FileDateTime( Fichier ) End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 | Sub getDirectory 'Charge la bibliothèque "Tools" (voir dans "macros et boite de dialogue LibreOffice dans la fenetre de gauche) 'Bibliothèque a ne charger qu'une seule fois globalscope.basicLibraries.loadLibrary("Tools") 'Affiche le répertoire du fichier courant print DirectoryNameoutofPath( ThisComponent.getURL() , "/" ) End Sub |
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.