Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
jzimolong
Creator II
Creator II

Change properties of ListBox for multiple objects

Is it possible to update the following two properties for every ListBox object in a file?

1.  Properties - General - Show Frequency (check the box)

2.  Properties - Presentation - Single Column (uncheck the box)

5 Replies
Not applicable

Joseph,

The only common properties we can change between multiple list boxes is like layout, caption and font. I assume the answer to your question is a no.

Do let us know if you find any way to change the other properties in bulk besides the common 3.

Thanks

Brad.

jzimolong
Creator II
Creator II
Author

Thanks Brad, this is exactly why I posted the question.  I have a couple dozen ListBox objects in my application and I want to make the two updates above in one step.  Instead of opening each ListBox property screen individually, I was hoping to do update them all at once.

I was going to explore a VBScript macro and see if it is possible going down that path.  Hoping there is another creative solution out there.

raajaswin
Creator III
Creator III

Yes Joseph. you are right I faced similar problem.. Had many text boxes. And I could not change its color at once.. If you found any solution using Macro post it.. Also see this thread

How can we change the background colour for many text boxes at a time?

jzimolong
Creator II
Creator II
Author

I ended up using a macro (vbscript) to solve this issue.  I found it at the following post:

https://community.qlik.com/thread/32778

The API guide was also helpful to figure out exactly which property syntax I needed to change:

https://community.qlik.com/docs/DOC-2245

Here is the code (again, found at the first link above, and I used API guide to figure out how to set the Multicolumn property).  I then attached this to a button as action.

sub ListBoxProperties() 
for j= 0 to ActiveDocument.NoOfSheets - 1 
set s=ActiveDocument.Sheets(j) 
lboxes=s.GetListBoxes 
for i=lbound(lboxes) to ubound(lboxes) 
set box=lboxes(i).GetProperties 
box.Layout.ShowFrequency = true 
box.Layout.MultiColumn = true
'box.Layout.FrequencyInPercent = true 
lboxes(i).SetProperties box 
next 
next 
end sub

Hope this helps......

Joe

raajaswin
Creator III
Creator III

Great Joe.

Thanks for sharing it. I also resolved my issue.