Intern makrotolk

QlikView-objekt är åtkomliga via Automation inifrån QlikView genom den inbyggda skriptmotorn.

Anropa makron

Makron som skrivs i VBScript eller JScript inuti ett QlikView-dokument kan anropas på följande sätt:

Dokumenthändelser:

  • Ett makro kan köras efter att ett QlikView-dokument öppnats.
  • Ett makro kan köras när skriptet har laddats om.
  • Ett makro kan köras efter kommandot Reducera data.
  • Ett makro kan köras efter val i valfritt fält i dokumentet.
  • Ett makro kan köras när ett variabelvärde ändras i dokumentet.

Makron som anropas från dokumenthändelser skapas från sidan Dokumentegenskaper: Händelser.

Arkhändelser:

  • Ett makro kan köras efter att ett ark aktiverats.
  • Ett makro kan köras när ett ark lämnas.

Makron som anropas från arkhändelser skapas från sidan Arkegenskaper: Händelser.

Arkobjekthändelser:

  • Ett makro kan köras efter att ett arkobjekt aktiverats.
  • Ett makro kan köras när ett arkobjekt lämnas.

Makron som anropas från arkobjekt skapas från sidan Arkegenskaper: Händelser.

Knapphändelser:

  • En knapp kan definieras som en makroknapp.

Makron som anropas från makroknapphändelser skapas från knappens Aktiviteter-sida.

Fälthändelser:

  • Ett makro kan köras när ett val gjorts i ett specifikt fält.
  • Ett makro kan köras när ett val görs i fält som är logiskt kopplat till ett specifikt fält.
  • Ett makro kan köras när val låses i ett specifikt fält.
  • Ett makro kan köras när val låses upp i ett specifikt fält.

Makron som anropas från fälthändelser skapas från sidan Dokumentegenskaper: Händelser.

Variabelhändelser:

  • Ett makro kan köras när nya värden anges i specifika variabler.
  • Makrot kan köras när den valda variabelns värde ändras p.g.a. förändringar i andra variabler eller dokumentets logiska status.

Makron som anropas från variabelhändelser skapas från sidan Dokumentegenskaper: Händelser.

Makroredigerare:

Oberoende av hur de utlöses skapas och redigeras makron i dialogen Redigera makron.

Exempel:  

I detta avsnitt ges ett exempel på ett VBScript-makro som kan vara användbart.

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

Speciella biblioteksfunktioner för JScript

Funktionerna InputBox och MsgBox i standard-VBScript kan användas fritt i VBScript-makron. Det finns inte någon direkt motsvarighet till dessa funktioner i JScript. Därför har ett särskilt qvlib-bibliotek skapats. Funktionerna visas i exemplet nedan.

// JScript

function Test()

{

personName = qvlib.InputBox("What is you name?")

msg = "Hello " + personName + " !"

qvlib.MsgBox(msg)

}

I exemplet nedan visas att qvlib-funktionerna fungerar även i VBScript-makron, men i detta fall går det lika bra att använda de generiska VBScript-funktionerna InputBox och MsgBox.

rem VBScript

sub TestModule

name = qvlib.InputBox("What is your name?")

msg = "Hello "

msg = msg + name + " !"

qvlib.MsgBox(msg)

end sub

Hjälpte den här informationen?

Tack för att du berättar det här. Är det något du vill säga om det här avsnittet?

Varför var informationen inte till hjälp och hur kan vi förbättra den?