# Intern makrotolk

[](https://help.qlik.com/en-US/qlikview/Subsystems/Client/Content/QV_QlikView/Internal_Macro_Interpreter.htm) [](https://help.qlik.com/en-US/qlikview/Subsystems/Client/Content/QV_QlikView/Internal_Macro_Interpreter.htm)QlikView-objekt är åtkomliga via Automation inifrån QlikView genom den inbyggda skriptmotorn.

## Anropa makron

[](https://help.qlik.com/en-US/qlikview/Subsystems/Client/Content/QV_QlikView/Internal_Macro_Interpreter.htm)Makron som skrivs i VBScript eller JScript inuti ett QlikView-dokument kan anropas på flera sätt:

### Dokumenthändelser:

* Ett makro kan köras efter att ett QlikView-dokument öppnats.
* Ett makro kan köras när skriptet har laddats om.
* Ett makro kan köras efter kommandot Reducera data.
* Ett makro kan köras efter val i valfritt fält i dokumentet.
* Ett makro kan köras när ett variabelvärde ändras i dokumentet.

Makron som anropas från dokumenthändelser skapas från sidan Dokumentegenskaper: Triggers.

### Arkhändelser:

* Ett makro kan köras efter att ett ark aktiverats.
* Ett makro kan köras när ett ark lämnas.

Makron som anropas från arkhändelser skapas från sidan Arkegenskaper: Triggers.

### Arkobjekthändelser:

* Ett makro kan köras efter att ett arkobjekt aktiverats.
* Ett makro kan köras när ett arkobjekt lämnas.

Makron som anropas från arkobjekt skapas från sidan Arkegenskaper: Triggers.

### Knapphändelser:

* En knapp kan definieras som en makroknapp.

Makron som anropas från makroknapphändelser skapas från knappens Aktiviteter-sida.

### Fälthändelser:

* Ett makro kan köras när ett val gjorts i ett specifikt fält.
* Ett makro kan köras när ett val görs i fält som är logiskt kopplat till ett specifikt fält.
* Ett makro kan köras när val låses i ett specifikt fält.
* Ett makro kan köras när val låses upp i ett specifikt fält.

Makron som anropas från fälthändelser skapas från sidan Dokumentegenskaper: Triggers.

### Variabelhändelser:

* Ett makro kan köras när nya värden anges i specifika variabler.
* Makrot kan köras när den valda variabelns värde ändras p.g.a. förändringar i andra variabler eller dokumentets logiska status.

Makron som anropas från variabelhändelser skapas från sidan Dokumentegenskaper: Triggers.

### Makroredigerare:

Oberoende av hur de utlöses skapas och redigeras makron i dialogen Redigera makron.

Exempel:

I detta avsnitt ges ett exempel på ett VBScript-makro som kan vara användbart.

`Using VBScript Input Boxes for User Interaction` `rem ** Clear selections, ask for product, **` `rem ** select that product, **` `rem ** go to sheet "Market", **` `rem ** show pivot table "Sales" **` `Sub ChooseValue` `Set q = ActiveDocument` `q.ClearAll (false)` `Set f = q.Fields("Model Name")` `x = inputbox ("Enter product")` `f.Select(x)` `set s = q.Sheets("Market")` `s.Activate` `s.SheetObjects("Sales").Activate` `end sub`

## Speciella biblioteksfunktioner för JScript

Funktionerna InputBox och MsgBox i standard-VBScript kan användas fritt i VBScript-makron. Det finns inte någon direkt motsvarighet till dessa funktioner i JScript. Därför har ett särskilt qvlib-bibliotek skapats. Funktionerna visas i exemplet nedan.

`// JScript` `function Test()` `{` `personName = qvlib.InputBox("What is you name?")` `msg = "Hello " + personName + " !"` `qvlib.MsgBox(msg)` `}`

I exemplet nedan visas att qvlib-funktionerna fungerar även i VBScript-makron, men i detta fall går det lika bra att använda de generiska VBScript-funktionerna InputBox och MsgBox.

`rem VBScript` `sub TestModule` `name = qvlib.InputBox("What is your name?")` `msg = "Hello "` `msg = msg + name + " !"` `qvlib.MsgBox(msg)` `end sub`

## Mer information

* [Dokumentegenskaper: Händelser](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Document_Properties_Triggers.htm)
* [Arkegenskaper: Händelser](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Sheet_Properties_Triggers.htm)
* [Aktiviteter](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Actions.htm)
* [Skriptvariabler](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptVariables.htm)