Ouvrir le fichier le plus récent dans un dossier SharePoint
Bonjour à tous,
J'avais un programme qui me permettait d'ouvrir le dernier fichier modifié d'un dossier spécifié dans le code. Tous les documents étaient stockés sur un serveur interne. Dernièrement tous les fichiers ont été migré sur Teams. J'ai donc synchronisé les documents pour pouvoir y avoir accès depuis l'explorateur de fichier Windows.
Le problème c'est qu'en prenant le lien depuis l'explorateur Windows, je récupère mon nom également et je veux que plusieurs personnes différentes puissent ouvrir les documents. J'ai aussi essayé en prenant le lien sur Teams (je clique sur les 3 petits points/Copier le lien), j'obtient un lien https avec Sharepoint derrière et ça ne fonctionne pas non plus...
Je vous met le code que j'avais auparavant mais je pense qu'il est possible de faire quelque chose de beaucoup plus simple.
Si vous pouvez m'aider soit à modifier le code ci-dessous ou alors à faire un code plus simple pour vous, ça serai super !
Je vous remercie d'avance
Option Explicit
Option Base 1
Dim h As Integer
Dim Tableau2()
'-------------------------------------------------------------
Function FichierExiste(Racine As String)
If Racine <> "" And Len(Dir(Racine)) > 0 Then
FichierExiste = True
Else
FichierExiste = False
End If
End Function
'-------------------------------------------------------------
Sub Planning()
Dim Racine As String, recentDir As String
Racine = "\\Lien que j'obtenais dans l'explorateur Windows\"
If FichierExiste(Racine) = True Then
ListeSousRepertoires Racine, True 'recherche le repertoire le + récent
recentDir = triDecroissant(Tableau2())
Erase Tableau2
h = 0
listeFichiers_dateModification recentDir
CreateObject("Shell.Application").Open (triDecroissant(Tableau2()))
Erase Tableau2
h = 0
Else
MsgBox "Le fichier n'existe pas", vbOKOnly + vbInformation + vbDefaultButton1
End If
End Sub
'-------------------------------------------------------------
Sub ListeSousRepertoires(SourceFolderName As String, IncludeSubfolders As Boolean)
Dim Fso As Object, SourceFolder As Object, SubFolder As Object
Dim RepItem As Object
Set Fso = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = Fso.GetFolder(SourceFolderName)
h = h + 1
ReDim Preserve Tableau2(2, h)
Tableau2(1, h) = SourceFolder
Tableau2(2, h) = SourceFolder.DateLastModified
If IncludeSubfolders Then
For Each SubFolder In SourceFolder.subFolders
ListeSousRepertoires SubFolder.Path, IncludeSubfolders
Next SubFolder
End If
End Sub
'-------------------------------------------------------------
Sub listeFichiers_dateModification(Chemin As String)
Dim Fichier As String
Dim Fso As Object, FileItem As Object
Fichier = Dir(Chemin & "\*.*")
Do
h = h + 1
ReDim Preserve Tableau2(2, h)
Set Fso = CreateObject("Scripting.FileSystemObject")
Set FileItem = Fso.GetFile(Chemin & "\" & Fichier)
Tableau2(1, h) = FileItem
Tableau2(2, h) = FileItem.DateLastModified
'Obtention du nom de fichier suivant dans le répertoire
Fichier = Dir
Loop Until Fichier = ""
End Sub
'-------------------------------------------------------------
Function triDecroissant(Tableau()) As String
Dim i As Integer
Dim z As Byte, Valeur As Byte
Dim Cible As Variant
Do
Valeur = 0
For i = 1 To h - 1
If CDate(Tableau(2, i)) < CDate(Tableau(2, i + 1)) Then
For z = 1 To 2
Cible = Tableau(z, i)
Tableau(z, i) = Tableau(z, i + 1)
Tableau(z, i + 1) = Cible
Next z
Valeur = 1
End If
Next i
Loop While Valeur = 1
triDecroissant = Tableau(1, 1)
End FunctionBonjour NicolasW
C'est malheureusement le problème aujourd'hui, lorsqu'on met les documents dans le coud
A ma connaissance ce ne sera pas possible,
surtout avec la sécurité Microsoft qui donne un "key code" au lieu d'un nom de fichier
Bonne chance
Bonjour,
Ce n'est pas la réponse que j'espérais entendre mais merci tout de même