Gecompileerde VBA-code tijdens runtime aanroepen
Om uw gecompileerde VBA-code uit te voeren, moet u deze vanuit de reguliere VBA-code van uw werkmap aanroepen met een hulpfunctie.
Open eerst de Visual Basic Editor en plak de volgende hulpfunctie in een module in uw werkmap:
' 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 FunctionDe hulpfunctie CallXLSPadlockVBA neemt twee parameters aan:
- ID: De naam van de gecompileerde
SubofFunctiondie u wilt aanroepen. - Param1: Een optionele parameter die u aan de gecompileerde code wilt doorgeven.
Voorbeeld
Section titled “Voorbeeld”Stel dat uw oorspronkelijke VBA-module de volgende code bevat:
Sub Calculate() Range("A4") = "Tom" Range("B4") = 5000 Range("C4") = Range("B4") * 0.5 Range("D4") = Range("C4") + Range("B4")End SubNadat u deze code naar de VBA Compiler hebt verplaatst, vervangt u de oorspronkelijke sub door een aanroep van de hulpfunctie:
Sub Calculate() Dim res As Variant res = CallXLSPadlockVBA("Calculate", "")End SubHier geven we de naam van de beveiligde sub, Calculate, op en geven we een lege tekenreeks door voor de tweede parameter, omdat deze in dit geval niet wordt gebruikt. De variabele res bevat het resultaat van de aanroep, wat vooral nuttig is wanneer de aangeroepen code een Function is die een waarde retourneert.
👉 Zie ook: Leer hoe u meer dan één parameter aan uw gecompileerde code doorgeeft.