Bonjour,
J'ai des fichiers Excel avec macros qui fonctionnaient sous OneDrive. Je désactivais la collaboration des fichiers au début dans les paramètres de OneDrive et ensuite après avoir ajouté la valeur Word 32 bits appelée EnableAllOcsiClients dans le Registre Windows.
Mais Microsoft a totalement enlevé cette possibilité si j'ai bien compris. Je cherche à faire fonctionner de nouveau le tout. J'ai inclus dans le code la fonction GetLocalPath partout dont cela est possible et cela fonctionne soit pour aller chercher le chemon local. Mais ... pour certaines macros si le fichier est synchronisé ... cela pose problème.
J'ai trouvé le code ci-dessous qui est sensé faire en sorte que l'emplacement du fichier (des fichiers reliés) ne passe pas partie des dossiers synchronisés. Mais une ligne plante. Voir plus bas.
Auriez-vous svp une idée du comment corriger? Ou auriez-vous une autre solution?
Merci à l'avance.
On error goto Fin
Dim folderPath As String
Dim shell As Object
' Remplacez par le chemin du dossier que vous souhaitez exclure de la synchronisation
'folderPath = "C:\Users\VotreNomUtilisateur\Documents\MonDossier"
'folderPath = "C:\Users\Roland Miller\OneDrive - Logiciels Comptables XL inc\XLDossier3.95" & "\"
'folderPath = "C:\Users\Roland Miller\OneDrive - Logiciels Comptables XL inc\XLDossier3.95"
folderPath = GetLocalPath(Application.ThisWorkbook.path) & "\"
' Créer un objet Shell pour exécuter des commandes système
Set shell = CreateObject("WScript.Shell")
' Exécuter la commande onedrive /stop <chemin_du_dossier>
'N.B.: PLante à cette ligne avec aucun message d'erreur.
shell.Run "onedrive /stop """ & folderPath & """", 0, True
' Libérer l'objet Shell
Set shell = Nothing
MsgBox "La synchronisation du dossier " & folderPath & " a été arrêtée."
Fin:
J'ai des fichiers Excel avec macros qui fonctionnaient sous OneDrive. Je désactivais la collaboration des fichiers au début dans les paramètres de OneDrive et ensuite après avoir ajouté la valeur Word 32 bits appelée EnableAllOcsiClients dans le Registre Windows.
Mais Microsoft a totalement enlevé cette possibilité si j'ai bien compris. Je cherche à faire fonctionner de nouveau le tout. J'ai inclus dans le code la fonction GetLocalPath partout dont cela est possible et cela fonctionne soit pour aller chercher le chemon local. Mais ... pour certaines macros si le fichier est synchronisé ... cela pose problème.
J'ai trouvé le code ci-dessous qui est sensé faire en sorte que l'emplacement du fichier (des fichiers reliés) ne passe pas partie des dossiers synchronisés. Mais une ligne plante. Voir plus bas.
Auriez-vous svp une idée du comment corriger? Ou auriez-vous une autre solution?
Merci à l'avance.
On error goto Fin
Dim folderPath As String
Dim shell As Object
' Remplacez par le chemin du dossier que vous souhaitez exclure de la synchronisation
'folderPath = "C:\Users\VotreNomUtilisateur\Documents\MonDossier"
'folderPath = "C:\Users\Roland Miller\OneDrive - Logiciels Comptables XL inc\XLDossier3.95" & "\"
'folderPath = "C:\Users\Roland Miller\OneDrive - Logiciels Comptables XL inc\XLDossier3.95"
folderPath = GetLocalPath(Application.ThisWorkbook.path) & "\"
' Créer un objet Shell pour exécuter des commandes système
Set shell = CreateObject("WScript.Shell")
' Exécuter la commande onedrive /stop <chemin_du_dossier>
'N.B.: PLante à cette ligne avec aucun message d'erreur.
shell.Run "onedrive /stop """ & folderPath & """", 0, True
' Libérer l'objet Shell
Set shell = Nothing
MsgBox "La synchronisation du dossier " & folderPath & " a été arrêtée."
Fin: