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

Istnieje kilka sposobów wywoływania umieszczonych w dokumencie QlikView makr napisanych w języku VBScript lub JScript:

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ł.

Examples:  

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