Hi Mark,
even as a user of the free VNL, you would be able to do these things
Writing scripts in the GUI is nothing special, you type the Python in the Editor and then execute either via the command line or Job Manager. So if you already know what Python code to use, just go ahead.
But, I suppose your issue is, that you cannot save the band structure objects on the LabFloor, that come from importers that read VASP or QE output files. You can usually invoke the import functionality in VNL inside a script. For the example of VASP, and band structure data, here's how:
from AddOns.VASPPlugins.Analysis import createVASPBandstructure
band_structure = createVASPBandstructure("./EIGENVAL")
print band_structure._directBandGap()
If that doesn't work flexibly enough, I a tool (prototype, so I don't want to publish it here on the Forum, I can send by email) that allows you to write code in VNL that directly interacts with the LabFloor objects (and similarly for the Builder stash etc). That is not possible for code you write in the Editor, which can only work with data in files on disk (primarily already in the NC format).