Uso de referências externas e hiperlinks
O XLS Padlock protege uma planilha por arquivo EXE. Se a sua planilha utiliza referências externas ou requer arquivos adicionais, você deve atualizar os seus caminhos para garantir que funcionem corretamente após a compilação.
O XLS Padlock oferece duas formas principais de lidar com arquivos externos:
- Adicioná-los como Companion Files.
- Utilizar caminhos dinâmicos em hiperlinks ou código VBA.
Para gerenciar caminhos dinâmicos, o XLS Padlock oferece uma função chamada PLEvalVar que pode ser utilizada diretamente em fórmulas do Excel ou chamada a partir do VBA.
Esta função recebe um argumento de cadeia de texto:
- =PLEvalVar(“EXEPath”) retorna o caminho completo para a pasta que contém o arquivo EXE da aplicação (com a barra invertida final).
- =PLEvalVar(“XLSPath”) retorna o caminho completo para a pasta que contém a planilha compilada em tempo de execução (com a barra invertida final).
Exemplo 1
Section titled “Exemplo 1”Você tem hiperlinks para arquivos de imagem externos. Esses arquivos de imagem estão na mesma pasta que o arquivo XLS da planilha (ou em uma subpasta).

Você tem um hiperlink em uma célula definido por:
=HYPERLINK("Penguins.jpg","Penguins")
Para que funcione com o XLS Padlock, você deve copiar todos os arquivos de imagem externos para a mesma pasta que o arquivo EXE gerado com o XLS Padlock. Em seguida, você precisa modificar todos os hiperlinks para inserir a função PLEvalVar(“EXEPath”) que retorna o caminho para essa pasta.
No nosso caso, isso se tornará:
=HYPERLINK(PLEvalVar("EXEPath") & "Penguins.jpg", "Penguins")
Isso também funciona para arquivos em subpastas. Um link como:
=HYPERLINK("My Pictures\\Penguins.jpg", "Penguins")
…deve ser alterado para:
=HYPERLINK(PLEvalVar("EXEPath") & "mypictures\\Penguins.jpg", "Penguins")
Exemplo 2
Section titled “Exemplo 2”Para acessar arquivos externos com VBA, você pode utilizar uma função auxiliar que constrói o caminho completo para um arquivo localizado na mesma pasta que o EXE.
👉 Para obter uma explicação detalhada e um trecho de código reutilizável, consulte o guia sobre como obter o caminho para um arquivo na pasta do 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