Je viens vers vous pour obtenir votre aide en vue de résoudre mon problème.
J'essaye d'obtenir des informations de différents fichiers sous LINUX
Voici le code que j'utilise sous windows qui fonctionne parfaitement: (Grosse partie récupérée ici: http://openoffice-libreoffice.developpe ... s-fichiers) et dans le livre de Monsieur MARCELLY
Le reste je l'ai adapté à ma sauce.
Toutefois, pour l'utiliser au bureau, Mhhhhh, bonne surprise j'avais pas regardé avant que "Scripting.fileSystemObject" était réservé à Windows.
Du coup, n'ayant pas trouvé ma réponse ni sur le forum ni sur internet (ou ayant utilisé des mauvais mots clés
En vous remerciant par avance
Code : Tout sélectionner
REM ***** BASIC *****
Global Prop1 As String, Prop2 As String, Prop3 As String, Prop4 As String, Prop5 As String, Prop6 As String
Global Prop7 As String, Prop8 As String, Prop9 As String, Prop10 As string, Prop11 As String, Prop12 As String
Global DateAncienne As String, DateRecente As String, CheminTemporaire As String
Option Explicit
'*************************************************************************************
'************************ACCES REPERTOIRE CONFIG LIBREOFFICE**************************
'*************************************************************************************
Sub UtiliserPathSettings()
Dim ps As Object, repertoires As Variant, r As String
ps = CreateUnoService("com.sun.star.util.PathSettings")
CheminTemporaire = ConvertToUrl(ps.UserConfig & "/")
End Sub
'*************************************************************************************
'***************************CREER FICHIER TEXT POUR ESSAI*****************************
'*************************************************************************************
Sub CreerFichierTextePourEssai
'On charge la bibliothèque Tools
GlobalScope.BasicLibraries.LoadLibrary("Tools")
'On appel la varibale pour obtenir le chemin temoraire pour création du fichier texte
CALL UtiliserPathSettings
Dim CheminFichiervouluUrl As String, F1 As Long
F1 = FreeFile
CheminFichiervouluUrl = CheminTemporaire & "Test.txt"
Open CheminFichiervouluUrl For Output As #F1
Write #F1, "Mise à jour du listing effectuée le " & Date() & " à " & CDate(Time)
'Pour (Date Création) et (Date Modification) : Les Cellules seront à modifier en champ date dans la feuille Calc
Write #F1, "Nom du fichier", "Url du fichier", "Type", "Date Création", "Date Modification", "Taille du fichier"
CALL ProprietesFichier_GetFile(ConvertFromUrl(CheminFichiervouluUrl))
Write #F1, Prop11, Prop12, Prop8, DateAncienne, DateRecente, Prop7
Close #F1
MsgBox (("Fichier créé avec succès"), 64, "INFORMATION")
MsgBox (("Voici les informations du fichier:" & Chr(13) & _
"Nom du fichier : " & Prop11 & Chr(13) & _
"Url du fichier : " & Prop12 & Chr(13) & _
"Type : " & Prop8 & Chr(13) & _
"Date Création (A mettre en champ date dans feuille Calc) : " & DateAncienne & Chr(13) & _
"Date Modification (A mettre en champ date dans feuille Calc) : " & DateRecente & Chr(13) & _
"Taille du fichier : " & Prop7 & Chr(13)), 64, "INFORMATION")
'On supprimer à nouveau le fichier que l'on vient de créer pour le test
If FileExists (CheminFichiervouluUrl) Then
Kill CheminFichiervouluUrl
MsgBox (("Fichier (" & CheminFichiervouluUrl & ") supprimé avec succès"), 64, "INFORMATION")
Else
MsgBox (("Fichier (" & CheminFichiervouluUrl & ") non trouvé. Impossible de le supprimer"), 64, "INFORMATION")
End If
End Sub
'**********************************************************************************************************************************************************************************************************************************
'*************************************************************************************
'************OBTENTION DES INFORMATIONS SUR LE FICHIER - PROPRIETES*******************
'*************************************************************************************
Function ProprietesFichier_GetFile(FichierSelectionne As String)
'Codage permettant de récupérer les proriétés d'un fichier
Dim oObj As Object , Cible As Object, Valeur As Object, Resultat As String
Dim ValeurKo As Double
oObj = createUnoService("com.sun.star.bridge.OleObjectFactory")
Cible = oObj.createInstance("Scripting.fileSystemObject")
Valeur = Cible.GetFile(FichierSelectionne) 'Attention, chemin du fichier en ConvertFromUrl
Prop1 = Valeur.ParentFolder.Path 'Chemin
Prop2 = Valeur.shortpath 'Chemin Court
Prop3 = Valeur.ShortName 'Nom Court
Prop4 = CDate(Valeur.DateCreated.Value) 'Date Création
Prop5 = CDate(Valeur.DateLastModified.Value) 'Date Dernière Modification
Prop6 = CDate(Valeur.DateLastAccessed.Value) 'Date Dernier Accès
ValeurKo = Valeur.Size / 1024
Prop7 = Format(ValeurKo, "00.00") & " Ko" 'Taille Fichier (En Octets)
Prop8 = Valeur.Type 'Type Fichier
Prop9 = Cible.GetExtensionName(Valeur) 'Extension Fichier
Prop10 = Cible.GetBaseName(Valeur) 'Nom Fichier Sans Extension
Prop11 = Cible.GetFileName(Valeur) 'Nom Fichier Avec Extension
Prop12 = Cible.GetAbsolutePathName(Valeur) 'Chemin Et Nom Complet
'Pour utiliser les fonctions de CALC - Pensez à rajouter Dim oFonction : Dim oFonction As Object
Dim oFonction As Object, Data(2)
oFonction = CreateUnoService("com.sun.star.sheet.FunctionAccess")
Data(0) = Valeur.DateCreated.Value
Data(1) = Valeur.DateLastModified.Value
Data(2) = Valeur.DateLastAccessed.Value
DateAncienne = oFonction.callFunction("MIN", Data())
'Print DateAncienne
Data(0) = Valeur.DateCreated.Value
Data(1) = Valeur.DateLastModified.Value
Data(2) = Valeur.DateLastAccessed.Value
DateRecente = oFonction.callFunction("MAX", Data())
'Print DateRecente
If DateAncienne = "" Then
DateAncienne = DateRecente
End If
'MsgBox "Date Ancienne : " & DateAncienne & CHR(10) & "Date Récente : " & DateRecente
End Function
'Appel de la function : ProprietesFichier_GetFile("C:\Test.txt")
'**********************************************************************************************************************************************************************************************************************************



