Recetario y recetas de la API VBA para XLS Padlock
Este tema ofrece una colección completa de fragmentos de código VBA (“recetas”) para un control avanzado de su aplicación protegida en tiempo de ejecución. Con la API VBA de XLS Padlock, puede recuperar información del sistema, gestionar el guardado y la carga, personalizar la interfaz de usuario e interactuar con funciones en línea.
Los dos objetos principales de la API son:, Application.COMAddIns("GXLSForm.GXLSFormula").Object para la mayor parte de la información en tiempo de ejecución., Application.COMAddIns("GXLS.GXLSPLock").Object para las operaciones relacionadas con el guardado.
Cada receta a continuación proporciona una función o subrutina VBA lista para usar.
Información de la aplicación y del sistema
Section titled “Información de la aplicación y del sistema”Estas recetas le ayudan a recuperar información sobre el entorno y el estado de la aplicación.
Comprobar si el libro está protegido
Section titled “Comprobar si el libro está protegido”Utilice esto para confirmar que su código se está ejecutando dentro de una aplicación protegida creada por 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 FunctionObtener el nombre del archivo EXE de la aplicación
Section titled “Obtener el nombre del archivo EXE de la aplicación”Recupera el nombre del archivo .exe en ejecución.
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 FunctionObtener la versión del archivo EXE y del producto
Section titled “Obtener la versión del archivo EXE y del producto”Recupera las cadenas de versión que definió en la sección “EXE Version Info” de 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") devuelve la versión del producto (Product Version)., ReadVersionInfo("FileVersion") devuelve la versión del archivo (File Version).
Obtener el ID del sistema del usuario
Section titled “Obtener el ID del sistema del usuario”Recupera el ID del sistema único que se requiere para las claves de activación bloqueadas por hardware. Este es el ID que le enviarán sus clientes.
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 FunctionObtener parámetros de la línea de comandos
Section titled “Obtener parámetros de la línea de comandos”Recupera los parámetros de la línea de comandos pasados al archivo .exe de su aplicación.
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) devuelve el primer parámetro, ReadParamStr(2) el segundo, y así sucesivamente.
Guardar y cargar libros
Section titled “Guardar y cargar libros”Gestione los archivos de guardado seguros (.xlsc o .xlsce) mediante programación.
Obtener la ruta del archivo de guardado actual
Section titled “Obtener la ruta del archivo de guardado actual”Recupera la ruta completa al archivo de guardado seguro que está cargado actualmente.
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 FunctionObtener la ruta de la carpeta de guardado local
Section titled “Obtener la ruta de la carpeta de guardado local”Recupera la ruta a la carpeta local donde XLS Padlock almacena la configuración de su aplicación y los archivos de guardado 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 FunctionEjecutar código VBA después de guardar
Section titled “Ejecutar código VBA después de guardar”XLS Padlock puede llamar automáticamente a la subrutina XLSPadlock_OnAfterSave después de que un usuario guarde su trabajo. Esto resulta útil para el registro, para mostrar un mensaje de confirmación o para otras acciones posteriores al guardado.
Sub XLSPadlock_OnAfterSave(SaveFilename As String) MsgBox "The workbook has been successfully saved as: " & SaveFilenameEnd SubAbrir un archivo de guardado existente con VBA
Section titled “Abrir un archivo de guardado existente con VBA”Abra un archivo de guardado seguro mediante programación. Tenga en cuenta que esto cargará el archivo en una nueva instancia de 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 un nombre de archivo para el cuadro de diálogo de guardado
Section titled “Sugerir un nombre de archivo para el cuadro de diálogo de guardado”Establezca el nombre de archivo predeterminado que aparece en el cuadro 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")Guardar una copia segura sin solicitar confirmación
Section titled “Guardar una copia segura sin solicitar confirmación”Guarde una copia segura del libro directamente en una ruta de archivo especificada sin mostrar el cuadro 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 datos de usuario de una versión anterior
Section titled “Migrar datos de usuario de una versión anterior”Si publica una nueva versión de su libro, es posible que necesite importar datos de un archivo de guardado creado con una versión anterior.
➡ Aprenda a migrar datos de usuario con VBA
Interfaz de usuario
Section titled “Interfaz de usuario”Personalice elementos de la interfaz, como los cuadros de diálogo.
Ocultar mediante programación los cuadros de diálogo de espera/carga
Section titled “Ocultar mediante programación los cuadros de diálogo de espera/carga”Puede ocultar el cuadro de diálogo “Loading workbook, please wait…” con una llamada VBA en lugar de esperar a que se cierre automáticamente.
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 SubActivación y validación en línea
Section titled “Activación y validación en línea”Interactúe con las funciones en línea de XLS Padlock.
Comprobar si hay conexión a Internet
Section titled “Comprobar si hay conexión a Internet”Comprueba si hay una conexión a Internet activa disponible en el equipo del usuario.
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 FunctionObtener el token de activación en línea
Section titled “Obtener el token de activación en línea”Recupera un hash del token de activación devuelto por el servidor web tras una activación en línea correcta.
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 FunctionComprobar si la validación en línea se ha realizado correctamente
Section titled “Comprobar si la validación en línea se ha realizado correctamente”Obtiene el resultado del último intento de validación en línea.
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