I have some code that creates an excel spreadsheet using a dynamic ole object in the code of a non visual object. It produces a .xls file. The users want to output a .xlsx file because they are getting dialog boxes from a compatibliliy check that says there will be minor loss of fidelity.
My issue is that the code for the saveas for the excel file seems to be wrong. The only code that I can find that has more than the filename for the parameter is for a graph, not an ole. Yet this seems to work. I can't figure out how to change it to output the .xlsx file though. If I change the file type in the filename, it either gives me an error, or just doesn't produce the file. I see that there are two different excel type to choose from if you place an ole on a window, but I can't find anything about the way this is created. Also, a parameter is being set for checkcompatibility to False, but it seem to check anyway. in the saveas parameters, the xiExcel8 variable is set to 56. I see other xiExcel.. constants set up with different values, but non of them seem to work.
I have tried just changing the extension from .xls to .xlsx in the filename. This produces a file, but it doesn't open. It says it is corrupt.
I have tried changing the xiExcel value, but I either get an error, or it doesn't produce a file.
I have tried changing the saveas parameters to just the filename as the powerscript says to do, but I get a weird error about can't assign a a binary variable from any type variable.
I am stumped at this point. Any help is appreciated.
OleObject iole_ole
this.iole_ole = CREATE OleObject
IF this.iole_ole.ConnectToNewObject( 'excel.application' ) = 0 THEN
Of_populate()
as_file = this.is_path + ls_sch_name + ".xls"
this.iole_ole.Application.ActiveWorkbook.CheckCompatibility = "FALSE"
this.iole_ole.Application.ActiveWorkbook.SaveAs( as_file, xlExcel8, "", "", FALSE, FALSE )