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]

Reply via email to