Utiliser des références externes et des liens hypertexte
XLS Padlock protège un classeur par fichier EXE. Si votre classeur utilise des références externes ou nécessite des fichiers supplémentaires, vous devez mettre à jour vos chemins afin qu’ils fonctionnent correctement après la compilation.
XLS Padlock propose deux moyens principaux pour gérer les fichiers externes :
- Les ajouter en tant que Companion Files.
- Utiliser des chemins dynamiques dans les liens hypertexte ou le code VBA.
Pour gérer les chemins dynamiques, XLS Padlock offre une fonction appelée PLEvalVar qui peut être utilisée directement dans les formules Excel ou appelée depuis VBA.
Cette fonction prend un argument de type chaîne de caractères :
- =PLEvalVar(“EXEPath”) renvoie le chemin complet du dossier qui contient le fichier EXE de l’application (avec la barre oblique inverse finale).
- =PLEvalVar(“XLSPath”) renvoie le chemin complet du dossier qui contient le classeur compilé à l’exécution (avec la barre oblique inverse finale).
Exemple 1
Section titled “Exemple 1”Vous avez des liens hypertexte vers des fichiers image externes. Ces fichiers image se trouvent dans le même dossier que le fichier XLS du classeur (ou dans un sous-dossier).

Vous avez un lien hypertexte dans une cellule, défini par :
=HYPERLINK("Penguins.jpg","Penguins")
Pour le faire fonctionner avec XLS Padlock, vous devez copier tous les fichiers image externes dans le même dossier que le fichier EXE généré avec XLS Padlock. Ensuite, vous devez modifier tous les liens hypertexte afin d’y insérer la fonction PLEvalVar(“EXEPath”) qui renvoie le chemin de ce dossier.
Dans notre cas, cela deviendra :
=HYPERLINK(PLEvalVar("EXEPath") & "Penguins.jpg", "Penguins")
Cela fonctionne aussi pour les fichiers situés dans des sous-dossiers. Un lien comme :
=HYPERLINK("My Pictures\\Penguins.jpg", "Penguins")
…doit être modifié en :
=HYPERLINK(PLEvalVar("EXEPath") & "mypictures\\Penguins.jpg", "Penguins")
Exemple 2
Section titled “Exemple 2”Pour accéder aux fichiers externes avec VBA, vous pouvez utiliser une fonction d’aide qui construit le chemin complet vers un fichier situé dans le même dossier que l’EXE.
👉 Pour une explication détaillée et un extrait de code réutilisable, consultez le guide expliquant comment obtenir le chemin d’un fichier situé dans le dossier de l’EXE.
Public Function GetPathToFileInEXEFolder(ByVal Filename As String) As String Dim XLSPadlock As Object Dim exePath As String On Error GoTo Err
Set XLSPadlock = Application.COMAddIns("GXLSForm.GXLSFormula").Object exePath = XLSPadlock.PLEvalVar("EXEPath") GetPathToFileInEXEFolder = Application.BuildPath(exePath, Filename) Exit FunctionErr: GetPathToFileInEXEFolder = ""End Function