My client has Attachmate Extra! Enterprise. I'm writing a program in Extra to screen-scrape a bunch of data from a database that apparently doesn't have an API I can get at. I've found some documentation on the Extra! object model that apparently is close enough to allow me to make progress (so far), but nothing yet on Attachmate's version of the Visual Basic language, so I'm having to find by experimentation how it differs from VBA and VBScript. (For example, I gather that I can write Subs and Functions but only if they appear before the main routine, not after. I think it will not support user-defined classes, and the ReDim command doesn't seem to work. I can't define an array with more than 9999 rows. And so on.)
When working with Excel, it can take forever to populate thousands of cells one at a time; but populating an array and then pouring the array into an Excel range is almost instant. The usual command, once I have the data in an array, looks like this:
Range(ows.Cells(<row>, <column>), ows.cells(<row>, <column>)).Value = array...where "ows" is the worksheet object. But the Attachmate macro editor flags this statement as an error. I've tried several variations, and have come to suspect that it simply will not support an array used in this way. Maybe I'm wrong, though. Can anyone tell me what syntax I should use?
To write the data one cell at a time into Excel would take many minutes, perhaps 30 or 60, in addition to the time it takes to scroll through perhaps 500 panels. If I have to, I think I can use the FileSystemObject to write the data to a text file and then import it into Excel, but I suspect I can do it more directly with an array if someone will just tell me what I'm doing wrong, here.