Livro de receitas da API VBA para XLS Padlock
Este tópico oferece uma coleção completa de trechos de código VBA (“receitas”) para o controle avançado da sua aplicação protegida em tempo de execução. Com a API VBA do XLS Padlock, você pode recuperar informações do sistema, gerenciar o salvamento e o carregamento, personalizar a interface do usuário e interagir com recursos online.
Os dois objetos principais da API são:, Application.COMAddIns("GXLSForm.GXLSFormula").Object para a maior parte das informações em tempo de execução., Application.COMAddIns("GXLS.GXLSPLock").Object para as operações relacionadas ao salvamento.
Cada receita a seguir fornece uma função ou sub-rotina VBA pronta para uso.
Informações da aplicação e do sistema
Section titled “Informações da aplicação e do sistema”Estas receitas ajudam você a recuperar informações sobre o ambiente e o estado da aplicação.
Verificar se a planilha está protegida
Section titled “Verificar se a planilha está protegida”Utilize isto para confirmar que o seu código está sendo executado dentro de uma aplicação protegida criada pelo XLS Padlock.
Public Function XLSPadlockAvailable() As Boolean Dim XLSPadlock As Object On Error Resume Next Set XLSPadlock = Application.COMAddIns("GXLSForm.GXLSFormula").Object If Not XLSPadlock Is Nothing Then XLSPadlockAvailable = XLSPadlock.IsProtected() Else XLSPadlockAvailable = False End IfEnd FunctionObter o nome do arquivo EXE da aplicação
Section titled “Obter o nome do arquivo EXE da aplicação”Recupera o nome do arquivo .exe em execução.
Public Function GetEXEFilename() As String Dim XLSPadlock As Object On Error GoTo Err Set XLSPadlock = Application.COMAddIns("GXLSForm.GXLSFormula").Object GetEXEFilename = XLSPadlock.PLEvalVar("EXEFilename") Exit FunctionErr: GetEXEFilename = ""End FunctionObter a versão do arquivo EXE e do produto
Section titled “Obter a versão do arquivo EXE e do produto”Recupera as cadeias de versão que você definiu na seção “EXE Version Info” do XLS Padlock.
Public Function ReadVersionInfo(infoType As String) As String Dim XLSPadlock As Object On Error GoTo Err Set XLSPadlock = Application.COMAddIns("GXLSForm.GXLSFormula").Object ReadVersionInfo = XLSPadlock.PLEvalVar(infoType) Exit FunctionErr: ReadVersionInfo = ""End FunctionUso:, ReadVersionInfo("ProductVersion") retorna a versão do produto (Product Version)., ReadVersionInfo("FileVersion") retorna a versão do arquivo (File Version).
Obter o ID do sistema do usuário
Section titled “Obter o ID do sistema do usuário”Recupera o ID do sistema exclusivo necessário para as chaves de ativação com bloqueio por hardware. Este é o ID que os seus clientes lhe enviarão.
Public Function ReadSystemID() As String Dim XLSPadlock As Object On Error GoTo Err Set XLSPadlock = Application.COMAddIns("GXLSForm.GXLSFormula").Object ReadSystemID = XLSPadlock.PLEvalVar("SystemID") Exit FunctionErr: ReadSystemID = ""End FunctionObter parâmetros da linha de comando
Section titled “Obter parâmetros da linha de comando”Recupera os parâmetros da linha de comando passados ao arquivo .exe da sua aplicação.
Public Function ReadParamStr(index As Integer) As String Dim XLSPadlock As Object On Error GoTo Err Set XLSPadlock = Application.COMAddIns("GXLSForm.GXLSFormula").Object ReadParamStr = XLSPadlock.PLEvalVar("ParamStr" & index) Exit FunctionErr: ReadParamStr = ""End FunctionUso: ReadParamStr(1) retorna o primeiro parâmetro, ReadParamStr(2) o segundo, e assim por diante.
Salvar e carregar planilhas
Section titled “Salvar e carregar planilhas”Gerencie os arquivos de salvamento seguros (.xlsc ou .xlsce) por meio de programação.
Obter o caminho do arquivo de salvamento atual
Section titled “Obter o caminho do arquivo de salvamento atual”Recupera o caminho completo para o arquivo de salvamento seguro que está carregado atualmente.
Public Function GetSecureWorkbookFilename() As String Dim XLSPadlock As Object On Error GoTo Err Set XLSPadlock = Application.COMAddIns("GXLS.GXLSPLock").Object GetSecureWorkbookFilename = XLSPadlock.GetSaveFilename() Exit FunctionErr: GetSecureWorkbookFilename = ""End FunctionObter o caminho da pasta de salvamento local
Section titled “Obter o caminho da pasta de salvamento local”Recupera o caminho para a pasta local onde o XLS Padlock armazena as configurações da sua aplicação e os arquivos de salvamento seguros.
Public Function GetStoragePath() As String Dim XLSPadlock As Object On Error GoTo Err Set XLSPadlock = Application.COMAddIns("GXLSForm.GXLSFormula").Object GetStoragePath = XLSPadlock.PLEvalVar("SPath") Exit FunctionErr: GetStoragePath = ""End FunctionExecutar código VBA após salvar
Section titled “Executar código VBA após salvar”O XLS Padlock pode chamar automaticamente a sub-rotina XLSPadlock_OnAfterSave depois que um usuário salva o seu trabalho. Isso é útil para registro em log, para exibir uma mensagem de confirmação ou para outras ações posteriores ao salvamento.
Sub XLSPadlock_OnAfterSave(SaveFilename As String) MsgBox "The workbook has been successfully saved as: " & SaveFilenameEnd SubAbrir um arquivo de salvamento existente com VBA
Section titled “Abrir um arquivo de salvamento existente com VBA”Abra um arquivo de salvamento seguro por meio de programação. Observe que isso carregará o arquivo em uma nova instância do Excel.
Public Sub LoadXLSPadlockSaveFile(FilePath As String) Dim XLSPadlock As Object On Error Resume Next Set XLSPadlock = Application.COMAddIns("GXLSForm.GXLSFormula").Object If Not XLSPadlock Is Nothing Then XLSPadlock.PLOpenSaveFile FilePath End IfEnd Sub
' Example of a caller function that shows a file browser:Sub Load_Old_Save() Dim strFileToOpen As String strFileToOpen = Application.GetOpenFilename( _ Title:="Please choose a save file to open", _ FileFilter:="Save Files (*.xlsc),*.xlsc")
If strFileToOpen <> "False" Then LoadXLSPadlockSaveFile strFileToOpen End IfEnd SubSugerir um nome de arquivo para a caixa de diálogo de salvamento
Section titled “Sugerir um nome de arquivo para a caixa de diálogo de salvamento”Defina o nome de arquivo padrão que aparece na caixa de diálogo “Save As”.
Public Sub SetSecureWorkbookFilename(Filename As String) Dim XLSPadlock As Object On Error Resume Next Set XLSPadlock = Application.COMAddIns("GXLS.GXLSPLock").Object If Not XLSPadlock Is Nothing Then XLSPadlock.SetDefaultSaveFilename Filename End IfEnd Sub
' Example: Set the default name to "my save.xlsc"' Call SetSecureWorkbookFilename("D:\My Documents\my save.xlsc")Salvar uma cópia segura sem solicitar confirmação
Section titled “Salvar uma cópia segura sem solicitar confirmação”Salve uma cópia segura da planilha diretamente em um caminho de arquivo especificado sem exibir a caixa de diálogo “Save As”.
Public Function SaveSecureWorkbookToFile(Filename As String) As Boolean Dim XLSPadlock As Object On Error GoTo Err Set XLSPadlock = Application.COMAddIns("GXLS.GXLSPLock").Object SaveSecureWorkbookToFile = XLSPadlock.SaveWorkbook(Filename) Exit FunctionErr: SaveSecureWorkbookToFile = FalseEnd Function
' Example: Save the workbook directly' If SaveSecureWorkbookToFile("D:\My Documents\my save.xlsc") Then' MsgBox "Workbook saved successfully."' End IfMigrar dados de usuário de uma versão anterior
Section titled “Migrar dados de usuário de uma versão anterior”Se você publicar uma nova versão da sua planilha, talvez precise importar dados de um arquivo de salvamento criado com uma versão anterior.
➡ Saiba como migrar dados de usuário com VBA
Interface do usuário
Section titled “Interface do usuário”Personalize elementos da interface, como caixas de diálogo.
Ocultar por meio de programação as caixas de diálogo de espera/carregamento
Section titled “Ocultar por meio de programação as caixas de diálogo de espera/carregamento”Você pode ocultar a caixa de diálogo “Loading workbook, please wait…” com uma chamada VBA em vez de esperar que ela se feche automaticamente.
Public Sub HideLoadingDialog() Dim XLSPadlock As Object On Error Resume Next Set XLSPadlock = Application.COMAddIns("GXLS.GXLSPLock").Object If Not XLSPadlock Is Nothing Then ' A call with Option "3" and Value "0" hides the dialog. XLSPadlock.SetOption Option:="3", Value:="0" End IfEnd SubAtivação e validação online
Section titled “Ativação e validação online”Interaja com os recursos online do XLS Padlock.
Verificar se há conexão com a Internet
Section titled “Verificar se há conexão com a Internet”Testa se há uma conexão ativa com a Internet disponível no computador do usuário.
Public Function IsInternetAvailable() As Boolean Dim XLSPadlock As Object On Error GoTo Err Set XLSPadlock = Application.COMAddIns("GXLSForm.GXLSFormula").Object IsInternetAvailable = (XLSPadlock.PLEvalVar("InternetConnected") = "1") Exit FunctionErr: IsInternetAvailable = FalseEnd FunctionObter o token de ativação online
Section titled “Obter o token de ativação online”Recupera um hash do token de ativação retornado pelo servidor web após uma ativação online bem-sucedida.
Public Function GetValidationToken() As String Dim XLSPadlock As Object On Error GoTo Err Set XLSPadlock = Application.COMAddIns("GXLSForm.GXLSFormula").Object GetValidationToken = XLSPadlock.PLEvalVar("ValidationToken") Exit FunctionErr: GetValidationToken = ""End FunctionVerificar se a validação online foi bem-sucedida
Section titled “Verificar se a validação online foi bem-sucedida”Obtém o resultado da última tentativa de validação online.
Public Function IsValidationOK() As Boolean Dim XLSPadlock As Object On Error GoTo Err Set XLSPadlock = Application.COMAddIns("GXLSForm.GXLSFormula").Object IsValidationOK = (XLSPadlock.PLEvalVar("ValidationSuccess") = "1") Exit FunctionErr: IsValidationOK = FalseEnd Function