You have chosen to sponsor your bid up to a maximum amount of .
Applications can call various MS Excel functions through standard technique called OLE, to prove that it is possible to replace MS Excel with LibreOffice in context of applications using OLE Excel interface it is required to develop a proof-of-concept.
Functionality. POC has to:
1. Be an OLE service in Windows XP or Windows 7.
2. Be registered in OS as «Excel.Application».
3. Provide OLE MS Excel 2007/2010 interface in boundaries required to work to the VBS-script provided in Appendix.
4. OLE Excel requests has to be translated to equivalent API calls of LibreOffice UNO API: VB-script → POC OLE server → LibreOffice UNO API.
5. Results of OLE calls (statues codes, returning data if there are any), has to be passed back to VBS script, as it native OLE Excel does.
Additional requirements. POC:
1. Can be written on any programming language, but must not require any of licensed run-time library.
2. Has to work in Windows XP Prof SP3 x32/x64, Windows 7 Prof x32/x64.
3. Version of LibreOffice > 126.96.36.199 or newer.
Functionality check. On a computer, where MS Office (MS Excel) has never been installed we install LibreOffice. We install and register POC OLE server (can be done manually following instructions from a developer). Run LibreOffice as UNO server. Run test script. Script has to open LibreOffice Calc, create new spreadsheet file and in the first row, third column it has to insert test string 'Test', or any other value we setup in our test script.
1. LibreOffice UNO API http://api.libreoffice.org/
Appendix. Test script:
Private Sub cmdExcel_Click()
intCol = 3
intRow = 1
'Load Excel and create the object
Set oXL = CreateObject("Excel.Application")
'Turn off alert messages.
oXL.DisplayAlerts = False
'Load a new workbook and create the workbook object.
Set oBook = oXL.workbooks.Add
'Create the worksheet object.
Set oSheet = oBook.Sheets(1)
'Enter a value in a cell.
oSheet.cells(intRow, intCol).Value = "Test"
'Display the Excel session.
oXL.Visible = True