Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Toronto Sept 9th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Variables and Macro

Hi Guys

How can i access the Name of the variables that has been created in variable overview in macro.

I am using Following Macro Script but it is giving me name of the variables apart from i have created.

Set Vars = ActiveDocument.GetVariableDescriptions

For k = 0 to vars.Count - 1

Set v = vars.Item(k)

MsgBox(v.Name)

Next

Guys Please help .....

2 Replies
Gysbert_Wassenaar
Partner - Champion III
Partner - Champion III

I haven't found a property to distinguish a user defined variable from a system variable. The only thing I can think of is starting at 25 to skip the system variables:  For k = 25 to vars.Count - 1


talk is cheap, supply exceeds demand
IAMDV
Master II
Master II

Hi Manish,

Gysbert is right... there is no inherit property to distinguish whether it's User or Sytem variables. However, if you can follow a standard naming convention while creating the variables then you can use string/ pattern search to identify whether its User or System variable. And this is good practice when you have more than handful of variables. I always follow a standard naming convention, something like this:

Generic Variables:

v_HideShow

v_MyString

v_ConcatFieldValue

Expression Variables:

v_Exp_TotalSales

v_Exp_AvgSales

v_Exp_MonthlySales

Colour Variables:

v_Colour_Primary_01

v_Colour_Primary_02

....

....

Once you follow the standard naming convention then you easily call your variables by using below script.

Sub VariableNames

Set Vars = ActiveDocument.GetVariableDescriptions

For k = 0 to vars.Count - 1

Set v = vars.Item(k)

IF Left(v.Name, 2) = "v_" Then

MsgBox(v.Name)

Else

End if

Next

End Sub

I hope this helps!

Good luck!

Cheers,

DV

www.QlikShare.com