VBscript-funktionsanrop från skript

VBScript eller JScript-funktioner som definieras i makro-modulen i ett QlikView-dokument kan anropas från skript. Om den anropade funktionen inte känns igen som en standardfunktion, kontrolleras förekomsten av användardefinierade funktioner i modulen. Friheten att definiera egna funktioner är således stor. Givetvis tar det något längre tid att använda egna makro-funktioner än att exekvera standardfunktioner.

Rem

rem ***THIS IS VBSCRIPT CODE FROM THE MODULE********* rem**************************************************

rem ********* Global variables ********************

dim flag

rem *******functions accessible from script *********

rem ************ wrap for input box ******************

function VBin(prompt)

VBin=inputbox(prompt)

end function

 

rem ************ clear global flag ******************

function VBclearFlag()

flag=0

end function

rem ********* test if reference has passed ***********

function VBrelPos(Ref, Current)

if Ref=Current then

VBRelPos="Reference"

flag=1

elseif flag=0 then

VBRelPos="Before "&Ref&" in table"

else

VBRelPos="After "&Ref&" in table"

end if

end function

// **************************************************

// *************THIS IS THE SCRIPT *****************

// *************************************************

 

let MaxPop=VBin('Max population in millions :');

// Ask limit

 

let RefCountry=VBin('Reference country :');

// Ask ref.

 

let dummy=VBclearFlag(); // Clears the global flag

 

Load

Country,recno(),

Capital,

"Area(km.sq)",

"Population(mio)",

VBrelPos('$(RefCountry)',Country)

as RelativePos

from country1.csv

(ansi, txt, delimiter is ',', embedded labels)

where "Population(mio)" <= $(MaxPop);

Överföring av parametrar

Följande regler gäller för överföring av parametrar mellan skript och VBScript:

  • Utelämnade parametrar överförs som NULL.
  • Om uttrycket resulterar i ett giltigt tal överförs detta tal; om uttrycket resulterar i en giltig sträng överförs denna sträng; om uttrycket varken resulterar i ett giltigt tal eller en giltig sträng, överförs NULL.
  • NULL överförs som VT_EMPTY.
  • Returnerade värden behandlas på brukligt sätt.

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?