I'm using VB6 to create spreadsheets. All was well with OO, and then LibreOffice V3.4.
Since upgrading to V3.52 (tested V3.53 too), I'm getting a crash when using Document.getSheets.RemoveByName("NameOfSheet3")
Steps to reproduce:
1. .... Open VB. Create new project.
2. .... In main module add :
Dim ServiceManager As Object
Dim Desktop As Object
Dim Document As Object
Dim Feuille As Object
' Create OpenOffice service
Set ServiceManager = CreateObject("com.sun.star.ServiceManager")
Set Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop")
' Create new Doc
Set Document = Desktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, args())
' Create new instance
Set Feuille = Document.createInstance("com.sun.star.sheet.Spreadsheet")
' Suppression des feuilles supplémentaires
Document.getSheets.RemoveByName ("Feuille3") or ("Sheet3") or whatever is the name of the third shield.
3. .... Run
Crash when trying to remove sheet with error :
"com.sun.star.uno.RuntimeException: [msci_uno bridge error] UNO type of C++ exception unknown: "std.out_of_range", RTTI-name=".?AVout_of_range@std@@"!"
Remove the sheet with no crash, as with previous LibreOffice and OpenOffice versions did.
Platform (if different from the browser):
Browser: Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0
Also appears when accessing via OLE using LibreOffice 18.104.22.168.
com.sun.star.uno.RuntimeException: [msci_uno bridge error] UNO type of C++ exception unknown: "std.out_of_range", RTTI-name=".?AVout_of_range@std@@"!
*** This bug has been marked as a duplicate of bug 45987 ***