At the module, the method .evaluate is very useful.
You can use any expression that you would use at the interface as an argument.
In your case, you can try:
Set varSelectionMonth =ActiveDocument.Evaluate( "GetFieldSelections(DateCourse_MonthNumber,",",12)" )
Msgbox (ActiveDocument.Evaluate("GetFieldSelections(DateCourse_MonthNumber,",",12)" )
Hope it helps,
The ".Evaluate" function is exactly what I was after!
Strangely enough, it was the "Set" keyword which was causing the Module window to open when calling the subroutine. Without it, this code worked fine:
varSelectionMonth = ActiveDocument.Evaluate("GetFieldSelections(DateCourse_MonthNumber,',',12)")
I'm not entirely sure when/why to use "Set" - QlikView has so many different (illogical!) ways to do things it's appalling!!!