Wewnętrzny interpreter makr
Wbudowany silnik obsługi skryptów umożliwia dostęp do obiektów QlikView z poziomu samej aplikacji QlikView z użyciem interfejsu automatyzacji.
Wywoływanie makr
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