Interprete interno di macro
Gli oggetti QlikView sono accessibili mediante automazione dall'interno di QlikView tramite il motore di script incorporato.
Richiamo delle macro
Le macro scritte in VBScript o JScript all'interno di un documento QlikView possono essere richiamate nei seguenti modi:
Eventi di documento:
- Una macro può essere eseguita dopo aver aperto un documento QlikView.
- Una macro può essere eseguita dopo la riesecuzione dello script.
- Una macro può essere eseguita dopo il comando Riduci i dati.
- Una macro può essere eseguita dopo la selezione di un qualsiasi campo nel documento.
- Una macro può essere eseguita quando il valore di una qualsiasi variabile del documento cambia.
Le macro richiamate dagli eventi di documento vengono create dalla pagina Proprietà documento: Eventi di avvio.
Eventi di foglio:
- Una macro può essere eseguita dopo l'attivazione di un foglio.
- Una macro può essere eseguita quando un foglio viene disattivato.
Le macro richiamate dagli eventi di documento vengono create dalla pagina Proprietà foglio: Eventi di avvio.
Eventi di oggetti di lavoro:
- Una macro può essere eseguita dopo che un oggetto di lavoro viene attivato.
- Una macro può essere eseguita quando viene disattivato un oggetto di lavoro.
Le macro richiamate dagli eventi di oggetti di lavoro vengono create dalla pagina Proprietà foglio: Eventi di avvio.
Eventi di pulsanti:
- Un pulsante può essere definito come un pulsante macro.
Una macro richiamata da un evento del pulsante macro viene creata dalla pagina Azioni relativa al pulsante.
Eventi di campo:
- Una macro può essere eseguita dopo che è stata effettuata una selezione in un campo specificato.
- Una macro può essere eseguita quando si esegue una selezione in un qualsiasi campo logicamente associato a un campo specifico.
- Una macro può essere eseguita quando si bloccano le selezioni in un campo specifico.
- Una macro può essere eseguita quando vengono sbloccate le selezioni in un campo specifico.
Le macro richiamate dagli eventi di campo vengono create dalla pagina Proprietà documento: Eventi di avvio.
Eventi di variabili:
- Una macro può essere eseguita quando nuovi valori vengono immessi direttamente dalle variabili di script specificate.
- Una macro può essere eseguita quando il valore della variabile associata viene modificato dal cambiamento in altre variabili o nello stato logico del documento.
Le macro richiamate dagli eventi di variabile vengono create dalla pagina Proprietà documento: Eventi di avvio.
Editor di macro:
Le macro vengono create e modificate nella finestra di dialogo Modifica modulo indipendentemente dal loro metodo di attivazione.
Esempi:
In questa sezione viene fornito un utile esempio di una macro VBScript che può risultare utile.
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
Funzioni di librerie speciali per JScript
Mentre le funzioni VBScript standard e le funzioni InputBox e MsgBox possono essere utilizzate liberamente nelle macro VBScript, nessuna funzione direttamente corrispondente è disponibile quando si utilizza JScript. A questo scopo è stata aggiunta una libreria speciale qvlib che consente tali azioni. Le funzioni sono mostrate nell'esempio seguente.
// JScript
function Test()
{
personName = qvlib.InputBox("What is you name?")
msg = "Hello " + personName + " !"
qvlib.MsgBox(msg)
}
Le funzioni qvlib sono effettivamente utilizzabili anche nelle macro VBScript, come mostrato nel seguente esempio, ma in questo caso è possibile utilizzare anche le funzioni VBScript generiche InputBox eMsgBox.
rem VBScript
sub TestModule
name = qvlib.InputBox("What is your name?")
msg = "Hello "
msg = msg + name + " !"
qvlib.MsgBox(msg)
end sub