VBA-API-Kochbuch und Rezepte für XLS Padlock
Diese Rubrik bietet eine umfassende Sammlung von VBA-Code-Ausschnitten („Rezepten“) für die erweiterte Steuerung Ihrer geschützten Anwendung zur Laufzeit. Mit der VBA-API von XLS Padlock können Sie Systeminformationen abrufen, das Speichern und Laden verwalten, die Benutzeroberfläche anpassen und mit Online-Funktionen interagieren.
Die beiden wichtigsten API-Objekte sind: Application.COMAddIns("GXLSForm.GXLSFormula").Object für die meisten Laufzeitinformationen und Application.COMAddIns("GXLS.GXLSPLock").Object für speicherbezogene Operationen.
Jedes Rezept unten stellt eine einsatzbereite VBA-Funktion oder -Subroutine bereit.
Anwendungs- und Systeminformationen
Section titled “Anwendungs- und Systeminformationen”Diese Rezepte helfen Ihnen, Informationen über die Umgebung und den Status der Anwendung abzurufen.
Prüfen, ob die Arbeitsmappe geschützt ist
Section titled “Prüfen, ob die Arbeitsmappe geschützt ist”Verwenden Sie dies, um zu bestätigen, dass Ihr Code innerhalb einer von XLS Padlock erstellten geschützten Anwendung ausgeführt wird.
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 FunctionDen EXE-Dateinamen der Anwendung abrufen
Section titled “Den EXE-Dateinamen der Anwendung abrufen”Ruft den Dateinamen der laufenden .exe-Datei ab.
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 FunctionEXE-Datei- und Produktversion abrufen
Section titled “EXE-Datei- und Produktversion abrufen”Ruft die Versionszeichenketten ab, die Sie im Abschnitt “EXE Version Info” (EXE-Versionsinformationen) von XLS Padlock definiert haben.
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 FunctionVerwendung: ReadVersionInfo("ProductVersion") gibt die Product Version zurück, und ReadVersionInfo("FileVersion") gibt die File Version zurück.
Die System ID des Benutzers abrufen
Section titled “Die System ID des Benutzers abrufen”Ruft die eindeutige System ID ab, die für hardwaregebundene Activation Keys erforderlich ist. Dies ist die ID, die Ihnen Ihre Kunden zusenden werden.
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 FunctionBefehlszeilenparameter abrufen
Section titled “Befehlszeilenparameter abrufen”Ruft die Befehlszeilenparameter ab, die an die .exe-Datei Ihrer Anwendung übergeben wurden.
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 FunctionVerwendung: ReadParamStr(1) gibt den ersten Parameter zurück, ReadParamStr(2) den zweiten und so weiter.
Arbeitsmappen speichern und laden
Section titled “Arbeitsmappen speichern und laden”Verwalten Sie sichere Speicherdateien (.xlsc oder .xlsce) programmgesteuert.
Pfad der aktuellen Speicherdatei abrufen
Section titled “Pfad der aktuellen Speicherdatei abrufen”Ruft den vollständigen Pfad zur aktuell geladenen sicheren Speicherdatei ab.
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 FunctionPfad des lokalen Speicherordners abrufen
Section titled “Pfad des lokalen Speicherordners abrufen”Ruft den Pfad zum lokalen Ordner ab, in dem XLS Padlock die Einstellungen Ihrer Anwendung und die sicheren Speicherdateien ablegt.
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 FunctionVBA-Code nach dem Speichern ausführen
Section titled “VBA-Code nach dem Speichern ausführen”XLS Padlock kann die Subroutine XLSPadlock_OnAfterSave automatisch aufrufen, nachdem ein Benutzer seine Arbeit gespeichert hat. Dies ist nützlich für die Protokollierung, das Anzeigen einer Bestätigungsmeldung oder andere Aktionen nach dem Speichern.
Sub XLSPadlock_OnAfterSave(SaveFilename As String) MsgBox "The workbook has been successfully saved as: " & SaveFilenameEnd SubEine vorhandene Speicherdatei mit VBA öffnen
Section titled “Eine vorhandene Speicherdatei mit VBA öffnen”Öffnen Sie eine sichere Speicherdatei programmgesteuert. Beachten Sie, dass die Datei dabei in einer neuen Instanz von Excel geladen wird.
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 SubEinen Dateinamen für den Speicherdialog vorschlagen
Section titled “Einen Dateinamen für den Speicherdialog vorschlagen”Legt den Standarddateinamen fest, der im Dialogfeld “Save As” (Speichern unter) angezeigt wird.
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")Eine sichere Kopie ohne Abfrage speichern
Section titled “Eine sichere Kopie ohne Abfrage speichern”Speichern Sie eine sichere Kopie der Arbeitsmappe direkt unter einem angegebenen Dateipfad, ohne das Dialogfeld “Save As” (Speichern unter) anzuzeigen.
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 IfBenutzerdaten aus einer früheren Version migrieren
Section titled “Benutzerdaten aus einer früheren Version migrieren”Wenn Sie eine neue Version Ihrer Arbeitsmappe veröffentlichen, müssen Sie möglicherweise Daten aus einer mit einer früheren Version erstellten Speicherdatei importieren.
➡ Erfahren Sie, wie Sie Benutzerdaten mit VBA migrieren
Benutzeroberfläche
Section titled “Benutzeroberfläche”Passen Sie UI-Elemente wie Dialogfelder an.
Warte-/Ladedialoge programmgesteuert ausblenden
Section titled “Warte-/Ladedialoge programmgesteuert ausblenden”Sie können das Dialogfeld “Loading workbook, please wait…” (Arbeitsmappe wird geladen, bitte warten…) mit einem VBA-Aufruf ausblenden, anstatt auf das automatische Schließen zu warten.
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 SubOnline-Aktivierung und -Validierung
Section titled “Online-Aktivierung und -Validierung”Interagieren Sie mit den Online-Funktionen von XLS Padlock.
Auf eine Internetverbindung prüfen
Section titled “Auf eine Internetverbindung prüfen”Testet, ob auf dem Computer des Benutzers eine aktive Internetverbindung verfügbar ist.
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 FunctionDas Online-Aktivierungstoken abrufen
Section titled “Das Online-Aktivierungstoken abrufen”Ruft einen Hash des Aktivierungstokens ab, das der Webserver nach einer erfolgreichen Online-Aktivierung zurückgegeben hat.
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 FunctionPrüfen, ob die Online-Validierung erfolgreich war
Section titled “Prüfen, ob die Online-Validierung erfolgreich war”Ruft das Ergebnis des letzten Online-Validierungsversuchs ab.
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