Kompilierten VBA-Code zur Laufzeit aufrufen
Um Ihren kompilierten VBA-Code auszuführen, müssen Sie ihn aus dem regulären VBA-Code Ihrer Arbeitsmappe über eine Hilfsfunktion aufrufen.
Öffnen Sie zunächst den Visual Basic Editor und fügen Sie die folgende Hilfsfunktion in ein Modul Ihrer Arbeitsmappe ein:
' This function lets you call VBA macros compiled with XLS PadlockPublic Function CallXLSPadlockVBA(ID As String, Param1 As Variant) As Variant Dim XLSPadlock As Object On Error Resume Next Set XLSPadlock = Application.COMAddIns("GXLSForm.GXLSFormula").Object CallXLSPadlockVBA = XLSPadlock.PLEvalVBA(ID, Param1)End FunctionDie Hilfsfunktion CallXLSPadlockVBA nimmt zwei Parameter entgegen:
- ID: Der Name des kompilierten
Suboder der kompiliertenFunction, die Sie aufrufen möchten. - Param1: Ein optionaler Parameter, den Sie an den kompilierten Code übergeben möchten.
Beispiel
Section titled “Beispiel”Stellen Sie sich vor, Ihr ursprüngliches VBA-Modul enthält den folgenden Code:
Sub Calculate() Range("A4") = "Tom" Range("B4") = 5000 Range("C4") = Range("B4") * 0.5 Range("D4") = Range("C4") + Range("B4")End SubNachdem Sie diesen Code in den VBA Compiler verschoben haben, würden Sie das ursprüngliche Sub durch einen Aufruf der Hilfsfunktion ersetzen:
Sub Calculate() Dim res As Variant res = CallXLSPadlockVBA("Calculate", "")End SubHier geben wir den Namen des geschützten Subs, Calculate, an und übergeben für den zweiten Parameter eine leere Zeichenfolge, da er in diesem Fall nicht verwendet wird. Die Variable res enthält das Ergebnis des Aufrufs, was vor allem dann nützlich ist, wenn der aufgerufene Code eine Function ist, die einen Wert zurückgibt.
👉 Siehe auch: Erfahren Sie, wie Sie mehr als einen Parameter an Ihren kompilierten Code übergeben.