no ... I am not ... but I do have a long experience with VBscript since it's beginnings in the 90's and I often to use VBA in for instance Excel or even C# in Visual Studio to connect to QlikView and use the intellisense help with the object model I can get from there. To get that you have to do "early binding" to the QlikView object ...
That depends on what you are thinking about - I have example on how to create and enable the prj folder. But I have never tried to parse the XML-files resulting from it although I have browsed through them as XML with a good editor like Notepad++ ... And I have tried manually to change some properties. QlikView actually read these files also every time it reads the corresponding QVW ... and writes them every time it save the QVW.
It is a feature that enables and is necessary for version control.
You have an undefined array that makes your function stop midway and not be able to set the properties later in the function... the sitearray(0) that you reference twice is not in scope ... I have a slightly modifed hack underneath ... have a look:
' Create a new Bar Chart
Set myChart = _
' Add a dimension of Country to the new chart
myChart.AddExpression "=Avg([Saturation Index (%)])"
myChart.AddExpression "=Max([Saturation Index (%)])"
' Get the properties object
Set cp = myChart.GetProperties()
' Set the title of the dimension
cp.Dimensions(0).Title.v = "Alias"
' Set the Title-in-chart text
cp.ChartProperties.Title.Title.v = "ABC" ' sitearray(0)
' Set the Window title
cp.GraphLayout.WindowTitle.v = "DEF" 'sitearray(0)
' Set sort by Y-Value
cp.SortByYValue = -1
' Get the expression properties
Dim expr, exprvis
'Set expr = cp.Expressions.Item(0).Item(0).Data.ExpressionData
Set exprvis = cp.Expressions.Item(0).Item(0).Data.ExpressionVisual
' Set the Expression label
exprvis.Label.v = "Sales $"
' Set the number format for the expression
exprvis.NumberPresentation.Dec = "."
exprvis.NumberPresentation.Fmt = "#,##0.00"
exprvis.NumberPresentation.nDec = 2
exprvis.NumberPresentation.Thou = ","
exprvis.NumberPresentation.Type = 11 'fixed
exprvis.NumberPresentation.UseThou = 1
exprvis.ShowAsBar = false
exprvis.ShowAsLine = true
exprvis.ShowAsSymbol = true
'expr.ShowAsBar = false
'expr.ShowAsLine = true
'expr.ShowAsSymbol = true
' Apply the modified properties