Ga naar inhoud

Externe referenties en hyperlinks gebruiken

XLS Padlock beschermt een werkmap per EXE-bestand. Als uw werkmap externe referenties gebruikt of aanvullende bestanden vereist, moet u uw paden aanpassen zodat ze na het compileren correct werken.

XLS Padlock biedt twee belangrijke manieren om externe bestanden te verwerken:

  • Voeg ze toe als Companion Files.
  • Gebruik dynamische paden in hyperlinks of VBA-code.

Voor het beheren van dynamische paden biedt XLS Padlock een functie genaamd PLEvalVar die rechtstreeks in Excel-formules kan worden gebruikt of vanuit VBA kan worden aangeroepen.

Deze functie neemt een tekenreeksargument aan:

  • =PLEvalVar(“EXEPath”) geeft het volledige pad terug naar de map die het EXE-bestand van de toepassing bevat (inclusief de afsluitende backslash).
  • =PLEvalVar(“XLSPath”) geeft het volledige pad terug naar de map die de gecompileerde werkmap tijdens runtime bevat (inclusief de afsluitende backslash).

U hebt hyperlinks naar externe afbeeldingsbestanden. Deze afbeeldingsbestanden bevinden zich in dezelfde map als het XLS-bestand van de werkmap (of in een submap).

Werkbladcel met een hyperlink die naar een extern afbeeldingsbestand naast de werkmap verwijst

U hebt een hyperlink in een cel die als volgt is gedefinieerd:

=HYPERLINK("Penguins.jpg","Penguins")

Om dit met XLS Padlock te laten werken, moet u alle externe afbeeldingsbestanden kopiëren naar dezelfde map als het met XLS Padlock gebouwde EXE-bestand. Vervolgens moet u alle hyperlinks aanpassen om de functie PLEvalVar(“EXEPath”) in te voegen die het pad naar die map teruggeeft.

In ons geval wordt dit:

=HYPERLINK(PLEvalVar("EXEPath") & "Penguins.jpg", "Penguins")

Dit werkt ook voor bestanden in submappen. Een link zoals:

=HYPERLINK("My Pictures\\Penguins.jpg", "Penguins")

…moet worden gewijzigd in:

=HYPERLINK(PLEvalVar("EXEPath") & "mypictures\\Penguins.jpg", "Penguins")

Om met VBA toegang te krijgen tot externe bestanden, kunt u een hulpfunctie gebruiken die het volledige pad construeert naar een bestand in dezelfde map als de EXE.

👉 Voor een uitvoerige uitleg en een herbruikbaar codefragment raadpleegt u de handleiding over hoe u het pad naar een bestand in de map van de EXE verkrijgt.

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 Function
Err:
GetPathToFileInEXEFolder = ""
End Function