Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

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

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!

Dołącz do Programu Modernizacji Analityki

Remove banner from view

Przeprowadź modernizację bez szkody dla Twoich cennych aplikacji QlikView za pomocą programu Analytics Modernization Program. Kliknij tutaj aby uzyskać więcej informacji lub skontaktuj się z nami: ampquestions@qlik.com