Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Convertir une URL OneDrive en chemin Windows

oguruma

XLDnaute Occasionnel
L'idée de convertir par exemple ceci
en
et sans utiliser les API Windows pour chercher à convertir l'URL au format UNC

  • Etape 1 : supprimer
  • Etape 2 : récupérer
    Documents/TOURNUS_HDF/TOURNUS_23_24
  • Etape 3 : récupérer le contenu de la variable d'environnement OneDrive par ceci Environ("ONEDRIVE")
  • Etape 4 : concaténer les étapes 3 et 2
  • Etape 5 : remplacer les / par des \
Appel de la fonction : =ConvertOneDriveFoler(DOSSIER_TOURNUS)

Au préalable on vérifie si on a bien chemin au format OneDrive commençant par "https://"

Donc : création d'une fonction VBA ConvertOneDriveFoler
VB:
Public Function ConvertOneDriveFoler(hUrl As String) As String
    Dim sR1 As String
    Dim sR2 As String
    Dim sR3 As String
    Dim sR4 As String
    Dim sR5 As String
    Application.Volatile True
    If Left(hUrl, 8) = "https://" Then
        sR1 = hUrl
        sR1 = Replace(sR1, "https://d.docs.live.net/", "")
        sR2 = sRight(sR1, "/")
        sR3 = Environ("ONEDRIVE")
        sR4 = sR3 & "\" & sR2
        sR5 = Replace(sR4, "/", "\")
        ConvertOneDriveFoler = sR5
    Else
        ConvertOneDriveFoler = hUrl
    End If
End Function

Code:
Public Function sRight(hSourceString As String, hSearchString As String) As String
    Dim iPos As Integer
    Dim iStart As Integer
    Dim iLen As Integer
    Application.Volatile True
  
    iPos = InStr(hSourceString, hSearchString)
    iLen = Len(hSourceString)
    iStart = iLen - iPos
    sRight = Right(hSourceString, iStart)
End Function
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…