Salta ai contenuti

Utilizzare riferimenti esterni e collegamenti ipertestuali

XLS Padlock protegge una cartella di lavoro per ogni file EXE. Se la cartella di lavoro utilizza riferimenti esterni o richiede file aggiuntivi, è necessario aggiornare i percorsi affinché funzionino correttamente dopo la compilazione.

XLS Padlock offre due modi principali per gestire i file esterni:

  • Aggiungerli come Companion Files.
  • Utilizzare percorsi dinamici nei collegamenti ipertestuali o nel codice VBA.

Per gestire i percorsi dinamici, XLS Padlock offre una funzione chiamata PLEvalVar che può essere utilizzata direttamente nelle formule di Excel oppure richiamata da VBA.

Questa funzione accetta un argomento di tipo stringa:

  • =PLEvalVar(“EXEPath”) restituisce il percorso completo della cartella che contiene il file EXE dell’applicazione (con la barra rovesciata finale).
  • =PLEvalVar(“XLSPath”) restituisce il percorso completo della cartella che contiene la cartella di lavoro compilata in fase di esecuzione (con la barra rovesciata finale).

Si dispone di collegamenti ipertestuali verso file immagine esterni. Questi file immagine si trovano nella stessa cartella del file XLS della cartella di lavoro (o in una sottocartella).

Cella del foglio di lavoro con un collegamento ipertestuale che punta a un file immagine esterno accanto alla cartella di lavoro

Si dispone di un collegamento ipertestuale in una cella, definito da:

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

Per farlo funzionare con XLS Padlock, è necessario copiare tutti i file immagine esterni nella stessa cartella del file EXE generato con XLS Padlock. Successivamente, occorre modificare tutti i collegamenti ipertestuali per inserirvi la funzione PLEvalVar(“EXEPath”), che restituisce il percorso di tale cartella.

Nel nostro caso, diventerà:

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

Ciò funziona anche per i file contenuti nelle sottocartelle. Un collegamento come:

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

…deve essere modificato in:

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

Per accedere ai file esterni con VBA, è possibile utilizzare una funzione di supporto che costruisce il percorso completo verso un file situato nella stessa cartella dell’EXE.

👉 Per una spiegazione dettagliata e uno snippet di codice riutilizzabile, consultare la guida su come ottenere il percorso di un file situato nella cartella dell’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 Function
Err:
GetPathToFileInEXEFolder = ""
End Function