# Wewnętrzny interpreter makr

Wbudowany silnik obsługi skryptów umożliwia dostęp do obiektów [](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 z poziomu samej aplikacji QlikView z użyciem interfejsu automatyzacji.

## Wywoływanie makr

[](https://help.qlik.com/en-US/qlikview/Subsystems/Client/Content/QV_QlikView/Internal_Macro_Interpreter.htm)Makra zapisane w języku VBScript lub JScript wewnątrz dokumentu QlikView można wywoływać na różne sposoby:

### Zdarzenia dokumentu:

* Makro może być uruchamiane po otwarciu dokumentu QlikView.
* Makro może być uruchamiane po ponownym uruchomieniu skryptu.
* Makro może być uruchamiane po wykonaniu polecenia Zmniejsz dane.
* Makro może być uruchamiane po dokonaniu selekcji w dowolnym polu dokumentu.
* Makro może być uruchamiane po zmianie wartości dowolnej zmiennej w dokumencie.

Makra wywoływane ze zdarzeń dokumentu są tworzone na stronie Właściwości dokumentu: Wyzwalacze.

### Zdarzenia arkusza:

* Makro może być uruchamiane po aktywowaniu arkusza.
* Makro może być uruchamiane po dezaktywowaniu arkusza.

Makra wywoływane ze zdarzeń arkusza są tworzone na stronie Właściwości arkusza: Wyzwalacze.

### Zdarzenia obiektów arkusza:

* Makro może być uruchamiane po aktywowaniu obiektu arkusza.
* Makro może być uruchamiane po dezaktywowaniu obiektu arkusza.

Makra wywoływane ze zdarzeń obiektu arkusza są tworzone na stronie Właściwości arkusza: Wyzwalacze.

### Zdarzenia przycisków:

* Przycisk może być zdefiniowany jako przycisk makra.

Makro wywoływane z przycisku makra można utworzyć na stronie Akcje przycisku.

### Zdarzenia pól:

* Makro może być uruchamiane po dokonaniu selekcji w określonym polu.
* Makro może być uruchamiane po dokonaniu selekcji w dowolnym polu logicznie powiązanym z określonym polem.
* Makro może być uruchamiane po zablokowaniu selekcji w określonym polu.
* Makro może być uruchamiane po odblokowaniu selekcji w określonym polu.

Makra wywoływane ze zdarzeń pól są tworzone na stronie Właściwości dokumentu: Wyzwalacze.

### Zdarzenia zmiennych:

* Makro może być uruchamiane po bezpośrednim wprowadzeniu nowych wartości do określonych zmiennych skryptowych.
* Makro może być uruchamiane, gdy wartość określonej zmiennej ulegnie zmianie w wyniku modyfikacji innych zmiennych lub stanu logicznego dokumentu.

Makra wywoływane ze zdarzeń zmiennych są tworzone na stronie Właściwości dokumentu: Wyzwalacze.

### Edytor makr:

Niezależnie od sposobu wyzwalania makr tworzy się je i edytuje w oknie dialogowym Edytuj moduł.

Przykłady:

W tej sekcji podano przykładowe, bardzo przydatne makro VBScript.

`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`

## Specjalne funkcje biblioteczne języka JScript

W makrach VBScript można swobodnie używać standardowych funkcji VBScript InputBox i MsgBox, natomiast w przypadku języka JScript nie są dostępne żadne ich bezpośrednie odpowiedniki. Aby umożliwić wykonywanie tych działań, dostarczono definiującą je osobną bibliotekę qvlib. Poniższy przykład ilustruje sposób użycia tych funkcji.

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

Jak pokazuje poniższy przykład, funkcje qvlib działają również w makrach VBScript, ale wtedy wygodniej jest używać ogólnych funkcji InputBox i MsgBox języka VBScript.

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

## Dowiedz się więcej

* [Właściwości dokumentu: Wyzwalacze](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Document_Properties_Triggers.htm)
* [Właściwości arkusza: Wyzwalacze](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Sheet_Properties_Triggers.htm)
* [Akcje](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Actions.htm)
* [Zmienne skryptu](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptVariables.htm)