Bonjour Claude,
Le 20/07/2017 à 16:15, PREF31 Libreoffice a écrit :
oObj = createUnoService("com.sun.star.bridge.OleObjectFactory")
Cible = oObj.createInstance("Scripting.fileSystemObject")
proprietes=Cible.GetFile(Fichier)
Je n'arrive pas à trouver l'équivalent pour les répertoires.
Quelqu'un aurait-il la solution ?
Je complète ma réponse précédente.
Comme dit, les objets FSO sont des objets Windows. De fait, l'usage des
macros qui les appellent n'est possible que dans cet OS.
Je conseille très vivement de rester multi plate-formes, tout comme LibO
l'est aussi.
Voici une fonction native en Basic (donc multi plate-formes) qui permet
de retrouver la date et l'heure de modification d'un répertoire. Vous
remarquerez qu'elle fonctionne pour les fichiers (comme son nom le
suggère) et pour les répertoires (puisque un répertoire est en fait un
fichier).
8< ------------------------------------------------------------
Function GetFileDateTimeModified(ByRef pFileName As String) As Date
'Returns the date of the last modification for pFileName.
'Returns the date, or 0 if the operation couldn’t be executed.
Dim lo_Date As new com.sun.star.util.DateTime
Dim l_Date As Date
Dim l_URLName As String 'file name in URL form
Dim lo_SFA As Object 'the simple file access object
On Local Error GoTo FEXIT
l_Date = 0
l_URLName = ConvertToURL(pFileName)
If FileExists(l_URLName) Then
lo_SFA = createUnoService("com.sun.star.ucb.SimpleFileAccess")
lo_Date = lo_SFA.getDateTimeModified(l_URLName)
l_Date = CDateFromUnoDateTime(lo_Date)
End If
FEXIT:
GetFileDateTimeModified = l_Date
End Function 'GetFileDateTimeModified
------------------------------------------------------------- >8
Le coeur de cette fonction repose sur un objet SFA. Si vous creusez
l'API SFA vous trouverez encore bien des propriétés intéressantes :)
Voir :
https://www.openoffice.org/api/docs/common/ref/com/sun/star/ucb/XSimpleFileAccess.html
Exemple d'utilisation :
MyDir = GetCurrentDirectory()
MyDate = GetFileDateTimeModified(MyDir)
NB : GetCurrentDirectory() est une fonction de mon cru qui retourne le
répertoire courant pour le document actuel
Bien cordialement,
--
Jean-Francois Nifenecker, Bordeaux
--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne
pourront pas être supprimés