As promised in today's course, here a corrected version of the sample "oorexx\samples\ole\apps\MSExcel_cURL.rex":
-- Get information using curl, save results in array cityArr= .array~of("Vienna","Graz","Linz","Salzburg","Innsbruck","Klagenfurt","Bregenz","Eisenstadt","Sankt-Poelten","Wien") cityWeather= .array~new-- array for weather information do counter i nameover cityArr command='curl https://wttr.in/%27name%27?format=%22%l:+%t"' -- https://github.com/chubin/wttr.in say "#" i":" command-- give user feedback outArr= .array~new-- array for stdout ADDRESS SYSTEM commandwith output using (outArr)error using (.array~new) cityWeather~append(outArr[1])-- append output to array end -- Start Excel with empty worksheet excelApplication= .OLEObject~new("Excel.Application") excelApplication~visible= .true -- make Excel visible Worksheet= excelApplication~Workbooks~Add~Worksheets[1]-- add worksheet -- Create bold collum header in first row colhead= .array~of("City","Celsius")-- array with header text do counter col nameover colhead Worksheet~cells(1,col)~Value= name-- insert items from array Worksheet~cells(1,col)~font~bold= .true -- make bold end -- Insert information from gained with curl do counter row nameover cityWeather parse var name city":" temperature"°C" -- parse curled informations Worksheet~cells(row+1,1)~Value= city-- city in collum 1 Worksheet~cells(row+1,2)~Value= temperature-- temperature in collum 2 end -- Select range for chart, use left upper and lower right cell location Worksheet~Range("A1:B" || (row+1))~Select-- include title row -- Add Chart excelApplication~Charts~Add-- create new chart excelApplication~ActiveChart~HasTitle= .True -- add title excelApplication~ActiveChart~ChartTitle~Characters~Text= "Temperature"
Enclosed find the Excel-Spreadsheet that just got created, reflecting the current temperatures.
The corrected example will be in the next drop of ooRexx 5.1.0beta.
Cheers
---rony