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.


SommaireProgrammation OBasicLes fichiers (6)
précédent sommaire suivant
 

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

Mis à jour le 26 août 2013 SilkyRoad

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

Mis à jour le 26 août 2013 SilkyRoad

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

Mis à jour le 26 août 2013 SilkyRoad

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

Mis à jour le 2 août 2013 SilkyRoad

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

Mis à jour le 26 août 2013 SilkyRoad

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

Mis à jour le 28 octobre 2014 madvic

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 ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les 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 © 2020 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.