Dear OO API Community: This is a re-submission of a previous message in the [EMAIL PROTECTED] forum, as suggested by Niklas Nebel. Niklas has kindly pointed out the issue 20044 in API.
http://sc.openoffice.org/servlets/BrowseList?list=dev&by=thread&from=178 2944 http://www.openoffice.org/issues/show_bug.cgi?id=20044 I heeded to the advice of Juergen+Andreas as posted by Michael Hoennig in the [EMAIL PROTECTED] forum on 2007-06-02. http://api.openoffice.org/servlets/ReadMsg?list=dev&msgNo=17751 The queryEmptyCells() problem is diagnosed by a different method - in standalone Beanshell Java. I hope that this alternative diagnosis and code can assist the API team to identify the root cause and a solution. Suggestions about how to make queryEmptyCells() work are appreciated. Ray ----- original post in the [EMAIL PROTECTED] forum I could not figure out how to correctly call the queryEmptyCells() API function. Does queryEmptyCells() implicitly depend on the state of the current cursor in a spreadsheet? I could not find the answer in the OO Developers Guide, version 2.0. I appreciate your advice on where my mistake is. Thanks. Ray ----- The symptoms can be divided into two types: * a brand new spreadsheet file a brand new and empty spreadsheet no content in any cell aXCellRange.queryEmptyCells() always returns nothing regardless what the range is set to. * a brand new spreadsheet file a brand new spreadsheet one single cell filled with content aXCellRange.queryEmptyCells() returns a correct result only if the range includes the cell with content. It returns nothing for all other settings of spreadsheet ranges, be it a row range, a column range, a block range, as long as the range excludes the cell with content. ----- Environment: MS Windows XP OO 2.2.0 Beanshell 2.0.b4, standalone, not OO Beanshell (embedded in OO) remember to include the 4 basic OO *.jar files in classpath, as instructed in the OO Developers Guide 2.0 ----- // follow the instructions in OO Developers Guide 2.0 // bootstrap OO // create a brand new spreadsheet file, default load mode (null for PropertyValue) // get the object of the spreadsheet "Sheet1" in this new spreadsheet file // Let us call this spreadsheet object: onesshtt ----- import com.sun.star.sheet.XSpreadsheet; Xspreadsheet onesshtt; /* ----- scenario 2: one cell filled with content import com.sun.star.table.XCell; import com.sun.star.text.XText; XCell tabl_cell; XText text_cell; tabl_cell = onesshtt.getCellRangeByName( "D20" ).getCellByPosition( 0, 0 ); text_cell = UnoRuntime.queryInterface( XText.class, tabl_cell ); text_cell.setString( "test D20" ); scenario 2 ----- */ import com.sun.star.table.CellRangeAddress; import com.sun.star.table.XCellRange; import com.sun.star.sheet.XSheetCellRanges; import com.sun.star.sheet.XCellRangesQuery; XCellRange tabl_rnng; XCellRangesQuery qrry; XSheetCellRanges fndd; CellRangeAddress[] addr; // change the range setting in anyway of your choice tabl_rnng = onesshtt.getCellRangeByName( "A10:A100" ); qrry = UnoRuntime.queryInterface( XCellRangesQuery.class, tabl_rnng ); fndd = qrry.queryEmptyCells(); addr = fndd.getRangeAddresses(); print( "count=" + addr.length + ", addr=" + fndd.getRangeAddressesAsString() ); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
