1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski import com.sun.star.beans.PropertyValue; 24*b1cdbd2cSJim Jagielski import com.sun.star.beans.XPropertySet; 25*b1cdbd2cSJim Jagielski import com.sun.star.uno.XComponentContext; 26*b1cdbd2cSJim Jagielski import com.sun.star.comp.helper.Bootstrap; 27*b1cdbd2cSJim Jagielski import com.sun.star.container.XEnumeration; 28*b1cdbd2cSJim Jagielski import com.sun.star.container.XEnumerationAccess; 29*b1cdbd2cSJim Jagielski import com.sun.star.frame.XComponentLoader; 30*b1cdbd2cSJim Jagielski import com.sun.star.frame.XController; 31*b1cdbd2cSJim Jagielski import com.sun.star.frame.XModel; 32*b1cdbd2cSJim Jagielski import com.sun.star.lang.XComponent; 33*b1cdbd2cSJim Jagielski import com.sun.star.lang.XMultiComponentFactory; 34*b1cdbd2cSJim Jagielski import com.sun.star.sheet.XCellAddressable; 35*b1cdbd2cSJim Jagielski import com.sun.star.sheet.XCellRangesQuery; 36*b1cdbd2cSJim Jagielski import com.sun.star.sheet.XSheetCellRanges; 37*b1cdbd2cSJim Jagielski import com.sun.star.sheet.XSpreadsheet; 38*b1cdbd2cSJim Jagielski import com.sun.star.sheet.XSpreadsheetDocument; 39*b1cdbd2cSJim Jagielski import com.sun.star.sheet.XSpreadsheetView; 40*b1cdbd2cSJim Jagielski import com.sun.star.sheet.XSpreadsheets; 41*b1cdbd2cSJim Jagielski import com.sun.star.table.XCell; 42*b1cdbd2cSJim Jagielski import com.sun.star.uno.UnoRuntime; 43*b1cdbd2cSJim Jagielski 44*b1cdbd2cSJim Jagielski public class FirstLoadComponent { 45*b1cdbd2cSJim Jagielski 46*b1cdbd2cSJim Jagielski /** Creates a new instance of FirstLoadComponent */ FirstLoadComponent()47*b1cdbd2cSJim Jagielski public FirstLoadComponent() { 48*b1cdbd2cSJim Jagielski } 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski /** 51*b1cdbd2cSJim Jagielski * @param args the command line arguments 52*b1cdbd2cSJim Jagielski */ main(String[] args)53*b1cdbd2cSJim Jagielski public static void main(String[] args) { 54*b1cdbd2cSJim Jagielski try { 55*b1cdbd2cSJim Jagielski // get the remote office component context 56*b1cdbd2cSJim Jagielski XComponentContext xRemoteContext = Bootstrap.bootstrap(); 57*b1cdbd2cSJim Jagielski if (xRemoteContext == null) { 58*b1cdbd2cSJim Jagielski System.err.println("ERROR: Could not bootstrap default Office."); 59*b1cdbd2cSJim Jagielski } 60*b1cdbd2cSJim Jagielski 61*b1cdbd2cSJim Jagielski XMultiComponentFactory xRemoteServiceManager = xRemoteContext.getServiceManager(); 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielski Object desktop = xRemoteServiceManager.createInstanceWithContext( 64*b1cdbd2cSJim Jagielski "com.sun.star.frame.Desktop", xRemoteContext); 65*b1cdbd2cSJim Jagielski XComponentLoader xComponentLoader = (XComponentLoader) 66*b1cdbd2cSJim Jagielski UnoRuntime.queryInterface(XComponentLoader.class, desktop); 67*b1cdbd2cSJim Jagielski 68*b1cdbd2cSJim Jagielski PropertyValue[] loadProps = new PropertyValue[0]; 69*b1cdbd2cSJim Jagielski XComponent xSpreadsheetComponent = xComponentLoader.loadComponentFromURL("private:factory/scalc", "_blank", 0, loadProps); 70*b1cdbd2cSJim Jagielski 71*b1cdbd2cSJim Jagielski XSpreadsheetDocument xSpreadsheetDocument = (XSpreadsheetDocument) 72*b1cdbd2cSJim Jagielski UnoRuntime.queryInterface(XSpreadsheetDocument.class, 73*b1cdbd2cSJim Jagielski xSpreadsheetComponent); 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski XSpreadsheets xSpreadsheets = xSpreadsheetDocument.getSheets(); 76*b1cdbd2cSJim Jagielski xSpreadsheets.insertNewByName("MySheet", (short)0); 77*b1cdbd2cSJim Jagielski com.sun.star.uno.Type elemType = xSpreadsheets.getElementType(); 78*b1cdbd2cSJim Jagielski 79*b1cdbd2cSJim Jagielski System.out.println(elemType.getTypeName()); 80*b1cdbd2cSJim Jagielski Object sheet = xSpreadsheets.getByName("MySheet"); 81*b1cdbd2cSJim Jagielski XSpreadsheet xSpreadsheet = (XSpreadsheet)UnoRuntime.queryInterface( 82*b1cdbd2cSJim Jagielski XSpreadsheet.class, sheet); 83*b1cdbd2cSJim Jagielski 84*b1cdbd2cSJim Jagielski XCell xCell = xSpreadsheet.getCellByPosition(0, 0); 85*b1cdbd2cSJim Jagielski xCell.setValue(21); 86*b1cdbd2cSJim Jagielski xCell = xSpreadsheet.getCellByPosition(0, 1); 87*b1cdbd2cSJim Jagielski xCell.setValue(21); 88*b1cdbd2cSJim Jagielski xCell = xSpreadsheet.getCellByPosition(0, 2); 89*b1cdbd2cSJim Jagielski xCell.setFormula("=sum(A1:A2)"); 90*b1cdbd2cSJim Jagielski 91*b1cdbd2cSJim Jagielski XPropertySet xCellProps = (XPropertySet)UnoRuntime.queryInterface( 92*b1cdbd2cSJim Jagielski XPropertySet.class, xCell); 93*b1cdbd2cSJim Jagielski xCellProps.setPropertyValue("CellStyle", "Result"); 94*b1cdbd2cSJim Jagielski 95*b1cdbd2cSJim Jagielski XModel xSpreadsheetModel = (XModel)UnoRuntime.queryInterface( 96*b1cdbd2cSJim Jagielski XModel.class, xSpreadsheetComponent); 97*b1cdbd2cSJim Jagielski XController xSpreadsheetController = xSpreadsheetModel.getCurrentController(); 98*b1cdbd2cSJim Jagielski XSpreadsheetView xSpreadsheetView = (XSpreadsheetView) 99*b1cdbd2cSJim Jagielski UnoRuntime.queryInterface(XSpreadsheetView.class, 100*b1cdbd2cSJim Jagielski xSpreadsheetController); 101*b1cdbd2cSJim Jagielski xSpreadsheetView.setActiveSheet(xSpreadsheet); 102*b1cdbd2cSJim Jagielski 103*b1cdbd2cSJim Jagielski // ********************************************************* 104*b1cdbd2cSJim Jagielski // example for use of enum types 105*b1cdbd2cSJim Jagielski xCellProps.setPropertyValue("VertJustify", 106*b1cdbd2cSJim Jagielski com.sun.star.table.CellVertJustify.TOP); 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski 109*b1cdbd2cSJim Jagielski // ********************************************************* 110*b1cdbd2cSJim Jagielski // example for a sequence of PropertyValue structs 111*b1cdbd2cSJim Jagielski // create an array with one PropertyValue struct, it contains 112*b1cdbd2cSJim Jagielski // references only 113*b1cdbd2cSJim Jagielski loadProps = new PropertyValue[1]; 114*b1cdbd2cSJim Jagielski 115*b1cdbd2cSJim Jagielski // instantiate PropertyValue struct and set its member fields 116*b1cdbd2cSJim Jagielski PropertyValue asTemplate = new PropertyValue(); 117*b1cdbd2cSJim Jagielski asTemplate.Name = "AsTemplate"; 118*b1cdbd2cSJim Jagielski asTemplate.Value = new Boolean(true); 119*b1cdbd2cSJim Jagielski 120*b1cdbd2cSJim Jagielski // assign PropertyValue struct to array of references for PropertyValue 121*b1cdbd2cSJim Jagielski // structs 122*b1cdbd2cSJim Jagielski loadProps[0] = asTemplate; 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski // load calc file as template 125*b1cdbd2cSJim Jagielski //xSpreadsheetComponent = xComponentLoader.loadComponentFromURL( 126*b1cdbd2cSJim Jagielski // "file:///c:/temp/DataAnalysys.ods", "_blank", 0, loadProps); 127*b1cdbd2cSJim Jagielski 128*b1cdbd2cSJim Jagielski // ********************************************************* 129*b1cdbd2cSJim Jagielski // example for use of XEnumerationAccess 130*b1cdbd2cSJim Jagielski XCellRangesQuery xCellQuery = (XCellRangesQuery) 131*b1cdbd2cSJim Jagielski UnoRuntime.queryInterface(XCellRangesQuery.class, sheet); 132*b1cdbd2cSJim Jagielski XSheetCellRanges xFormulaCells = xCellQuery.queryContentCells( 133*b1cdbd2cSJim Jagielski (short)com.sun.star.sheet.CellFlags.FORMULA); 134*b1cdbd2cSJim Jagielski XEnumerationAccess xFormulas = xFormulaCells.getCells(); 135*b1cdbd2cSJim Jagielski XEnumeration xFormulaEnum = xFormulas.createEnumeration(); 136*b1cdbd2cSJim Jagielski 137*b1cdbd2cSJim Jagielski while (xFormulaEnum.hasMoreElements()) { 138*b1cdbd2cSJim Jagielski Object formulaCell = xFormulaEnum.nextElement(); 139*b1cdbd2cSJim Jagielski xCell = (XCell)UnoRuntime.queryInterface(XCell.class, formulaCell); 140*b1cdbd2cSJim Jagielski XCellAddressable xCellAddress = (XCellAddressable) 141*b1cdbd2cSJim Jagielski UnoRuntime.queryInterface(XCellAddressable.class, xCell); 142*b1cdbd2cSJim Jagielski System.out.println("Formula cell in column " + 143*b1cdbd2cSJim Jagielski xCellAddress.getCellAddress().Column 144*b1cdbd2cSJim Jagielski + ", row " + xCellAddress.getCellAddress().Row 145*b1cdbd2cSJim Jagielski + " contains " + xCell.getFormula()); 146*b1cdbd2cSJim Jagielski } 147*b1cdbd2cSJim Jagielski 148*b1cdbd2cSJim Jagielski } 149*b1cdbd2cSJim Jagielski catch (java.lang.Exception e){ 150*b1cdbd2cSJim Jagielski e.printStackTrace(); 151*b1cdbd2cSJim Jagielski } 152*b1cdbd2cSJim Jagielski finally { 153*b1cdbd2cSJim Jagielski System.exit( 0 ); 154*b1cdbd2cSJim Jagielski } 155*b1cdbd2cSJim Jagielski } 156*b1cdbd2cSJim Jagielski 157*b1cdbd2cSJim Jagielski } 158*b1cdbd2cSJim Jagielski 159*b1cdbd2cSJim Jagielski 160*b1cdbd2cSJim Jagielski // import com.sun.star.uno.UnoRuntime; 161*b1cdbd2cSJim Jagielski // import com.sun.star.uno.XComponentContext; 162*b1cdbd2cSJim Jagielski // import com.sun.star.lang.XMultiComponentFactory; 163*b1cdbd2cSJim Jagielski // import com.sun.star.lang.XComponent; 164*b1cdbd2cSJim Jagielski // import com.sun.star.beans.XPropertySet; 165*b1cdbd2cSJim Jagielski // import com.sun.star.beans.PropertyValue; 166*b1cdbd2cSJim Jagielski // import com.sun.star.sheet.XSpreadsheetDocument; 167*b1cdbd2cSJim Jagielski // import com.sun.star.sheet.XSpreadsheets; 168*b1cdbd2cSJim Jagielski // import com.sun.star.sheet.XSpreadsheet; 169*b1cdbd2cSJim Jagielski // import com.sun.star.sheet.XSpreadsheetView; 170*b1cdbd2cSJim Jagielski // import com.sun.star.sheet.XCellRangesQuery; 171*b1cdbd2cSJim Jagielski // import com.sun.star.sheet.XSheetCellRanges; 172*b1cdbd2cSJim Jagielski // import com.sun.star.sheet.XCellAddressable; 173*b1cdbd2cSJim Jagielski // import com.sun.star.table.XCell; 174*b1cdbd2cSJim Jagielski // import com.sun.star.frame.XModel; 175*b1cdbd2cSJim Jagielski // import com.sun.star.frame.XController; 176*b1cdbd2cSJim Jagielski // import com.sun.star.frame.XComponentLoader; 177*b1cdbd2cSJim Jagielski // import com.sun.star.container.XEnumeration; 178*b1cdbd2cSJim Jagielski // import com.sun.star.container.XEnumerationAccess; 179*b1cdbd2cSJim Jagielski 180*b1cdbd2cSJim Jagielski // import com.sun.star.uno.AnyConverter; 181*b1cdbd2cSJim Jagielski 182*b1cdbd2cSJim Jagielski 183*b1cdbd2cSJim Jagielski // /** 184*b1cdbd2cSJim Jagielski // * 185*b1cdbd2cSJim Jagielski // * @author dschulten 186*b1cdbd2cSJim Jagielski // */ 187*b1cdbd2cSJim Jagielski // public class FirstLoadComponent { 188*b1cdbd2cSJim Jagielski 189*b1cdbd2cSJim Jagielski // /** Creates a new instance of FirstLoadComponent */ 190*b1cdbd2cSJim Jagielski // public FirstLoadComponent() { 191*b1cdbd2cSJim Jagielski // } 192*b1cdbd2cSJim Jagielski 193*b1cdbd2cSJim Jagielski // /** 194*b1cdbd2cSJim Jagielski // * @param args the command line arguments 195*b1cdbd2cSJim Jagielski // */ 196*b1cdbd2cSJim Jagielski // private XComponentContext xRemoteContext = null; 197*b1cdbd2cSJim Jagielski // private XMultiComponentFactory xRemoteServiceManager = null; 198*b1cdbd2cSJim Jagielski 199*b1cdbd2cSJim Jagielski // public static void main(String[] args) { 200*b1cdbd2cSJim Jagielski // FirstLoadComponent firstLoadComponent1 = new FirstLoadComponent(); 201*b1cdbd2cSJim Jagielski // try { 202*b1cdbd2cSJim Jagielski // firstLoadComponent1.useConnection(); 203*b1cdbd2cSJim Jagielski // } 204*b1cdbd2cSJim Jagielski // catch (java.lang.Exception e){ 205*b1cdbd2cSJim Jagielski // System.out.println(e.getMessage()); 206*b1cdbd2cSJim Jagielski // e.printStackTrace(); 207*b1cdbd2cSJim Jagielski // } 208*b1cdbd2cSJim Jagielski // finally { 209*b1cdbd2cSJim Jagielski // System.exit(0); 210*b1cdbd2cSJim Jagielski // } 211*b1cdbd2cSJim Jagielski // } 212*b1cdbd2cSJim Jagielski 213*b1cdbd2cSJim Jagielski // private void useConnection() throws java.lang.Exception { 214*b1cdbd2cSJim Jagielski // try { 215*b1cdbd2cSJim Jagielski // // get the remote office component context 216*b1cdbd2cSJim Jagielski // xRemoteContext = com.sun.star.comp.helper.Bootstrap.bootstrap(); 217*b1cdbd2cSJim Jagielski // System.out.println("Connected to a running office ..."); 218*b1cdbd2cSJim Jagielski 219*b1cdbd2cSJim Jagielski // xRemoteServiceManager = xRemoteContext.getServiceManager(); 220*b1cdbd2cSJim Jagielski // } 221*b1cdbd2cSJim Jagielski // catch( Exception e) { 222*b1cdbd2cSJim Jagielski // e.printStackTrace(); 223*b1cdbd2cSJim Jagielski // System.exit(1); 224*b1cdbd2cSJim Jagielski // } 225*b1cdbd2cSJim Jagielski 226*b1cdbd2cSJim Jagielski // try { 227*b1cdbd2cSJim Jagielski // Object desktop = xRemoteServiceManager.createInstanceWithContext( 228*b1cdbd2cSJim Jagielski // "com.sun.star.frame.Desktop", xRemoteContext); 229*b1cdbd2cSJim Jagielski // XComponentLoader xComponentLoader = (XComponentLoader) 230*b1cdbd2cSJim Jagielski // UnoRuntime.queryInterface(XComponentLoader.class, desktop); 231*b1cdbd2cSJim Jagielski 232*b1cdbd2cSJim Jagielski // PropertyValue[] loadProps = new PropertyValue[0]; 233*b1cdbd2cSJim Jagielski // XComponent xSpreadsheetComponent = xComponentLoader.loadComponentFromURL("private:factory/scalc", "_blank", 0, loadProps); 234*b1cdbd2cSJim Jagielski 235*b1cdbd2cSJim Jagielski // XSpreadsheetDocument xSpreadsheetDocument = (XSpreadsheetDocument) 236*b1cdbd2cSJim Jagielski // UnoRuntime.queryInterface(XSpreadsheetDocument.class, 237*b1cdbd2cSJim Jagielski // xSpreadsheetComponent); 238*b1cdbd2cSJim Jagielski 239*b1cdbd2cSJim Jagielski // XSpreadsheets xSpreadsheets = xSpreadsheetDocument.getSheets(); 240*b1cdbd2cSJim Jagielski // xSpreadsheets.insertNewByName("MySheet", (short)0); 241*b1cdbd2cSJim Jagielski // com.sun.star.uno.Type elemType = xSpreadsheets.getElementType(); 242*b1cdbd2cSJim Jagielski 243*b1cdbd2cSJim Jagielski // System.out.println(elemType.getTypeName()); 244*b1cdbd2cSJim Jagielski // Object sheet = xSpreadsheets.getByName("MySheet"); 245*b1cdbd2cSJim Jagielski // XSpreadsheet xSpreadsheet = (XSpreadsheet)UnoRuntime.queryInterface( 246*b1cdbd2cSJim Jagielski // XSpreadsheet.class, sheet); 247*b1cdbd2cSJim Jagielski 248*b1cdbd2cSJim Jagielski // XCell xCell = xSpreadsheet.getCellByPosition(0, 0); 249*b1cdbd2cSJim Jagielski // xCell.setValue(21); 250*b1cdbd2cSJim Jagielski // xCell = xSpreadsheet.getCellByPosition(0, 1); 251*b1cdbd2cSJim Jagielski // xCell.setValue(21); 252*b1cdbd2cSJim Jagielski // xCell = xSpreadsheet.getCellByPosition(0, 2); 253*b1cdbd2cSJim Jagielski // xCell.setFormula("=sum(A1:A2)"); 254*b1cdbd2cSJim Jagielski 255*b1cdbd2cSJim Jagielski // XPropertySet xCellProps = (XPropertySet)UnoRuntime.queryInterface( 256*b1cdbd2cSJim Jagielski // XPropertySet.class, xCell); 257*b1cdbd2cSJim Jagielski // xCellProps.setPropertyValue("CellStyle", "Result"); 258*b1cdbd2cSJim Jagielski 259*b1cdbd2cSJim Jagielski // XModel xSpreadsheetModel = (XModel)UnoRuntime.queryInterface( 260*b1cdbd2cSJim Jagielski // XModel.class, xSpreadsheetComponent); 261*b1cdbd2cSJim Jagielski // XController xSpreadsheetController = xSpreadsheetModel.getCurrentController(); 262*b1cdbd2cSJim Jagielski // XSpreadsheetView xSpreadsheetView = (XSpreadsheetView) 263*b1cdbd2cSJim Jagielski // UnoRuntime.queryInterface(XSpreadsheetView.class, 264*b1cdbd2cSJim Jagielski // xSpreadsheetController); 265*b1cdbd2cSJim Jagielski // xSpreadsheetView.setActiveSheet(xSpreadsheet); 266*b1cdbd2cSJim Jagielski 267*b1cdbd2cSJim Jagielski // // ********************************************************* 268*b1cdbd2cSJim Jagielski // // example for use of enum types 269*b1cdbd2cSJim Jagielski // xCellProps.setPropertyValue("VertJustify", 270*b1cdbd2cSJim Jagielski // com.sun.star.table.CellVertJustify.TOP); 271*b1cdbd2cSJim Jagielski 272*b1cdbd2cSJim Jagielski 273*b1cdbd2cSJim Jagielski // // ********************************************************* 274*b1cdbd2cSJim Jagielski // // example for a sequence of PropertyValue structs 275*b1cdbd2cSJim Jagielski // // create an array with one PropertyValue struct, it contains 276*b1cdbd2cSJim Jagielski // // references only 277*b1cdbd2cSJim Jagielski // loadProps = new PropertyValue[1]; 278*b1cdbd2cSJim Jagielski 279*b1cdbd2cSJim Jagielski // // instantiate PropertyValue struct and set its member fields 280*b1cdbd2cSJim Jagielski // PropertyValue asTemplate = new PropertyValue(); 281*b1cdbd2cSJim Jagielski // asTemplate.Name = "AsTemplate"; 282*b1cdbd2cSJim Jagielski // asTemplate.Value = new Boolean(true); 283*b1cdbd2cSJim Jagielski 284*b1cdbd2cSJim Jagielski // // assign PropertyValue struct to array of references for PropertyValue 285*b1cdbd2cSJim Jagielski // // structs 286*b1cdbd2cSJim Jagielski // loadProps[0] = asTemplate; 287*b1cdbd2cSJim Jagielski 288*b1cdbd2cSJim Jagielski // // load calc file as template 289*b1cdbd2cSJim Jagielski // //xSpreadsheetComponent = xComponentLoader.loadComponentFromURL( 290*b1cdbd2cSJim Jagielski // // "file:///c:/temp/DataAnalysys.ods", "_blank", 0, loadProps); 291*b1cdbd2cSJim Jagielski 292*b1cdbd2cSJim Jagielski // // ********************************************************* 293*b1cdbd2cSJim Jagielski // // example for use of XEnumerationAccess 294*b1cdbd2cSJim Jagielski // XCellRangesQuery xCellQuery = (XCellRangesQuery) 295*b1cdbd2cSJim Jagielski // UnoRuntime.queryInterface(XCellRangesQuery.class, sheet); 296*b1cdbd2cSJim Jagielski // XSheetCellRanges xFormulaCells = xCellQuery.queryContentCells( 297*b1cdbd2cSJim Jagielski // (short)com.sun.star.sheet.CellFlags.FORMULA); 298*b1cdbd2cSJim Jagielski // XEnumerationAccess xFormulas = xFormulaCells.getCells(); 299*b1cdbd2cSJim Jagielski // XEnumeration xFormulaEnum = xFormulas.createEnumeration(); 300*b1cdbd2cSJim Jagielski 301*b1cdbd2cSJim Jagielski // while (xFormulaEnum.hasMoreElements()) { 302*b1cdbd2cSJim Jagielski // Object formulaCell = xFormulaEnum.nextElement(); 303*b1cdbd2cSJim Jagielski // xCell = (XCell)UnoRuntime.queryInterface(XCell.class, formulaCell); 304*b1cdbd2cSJim Jagielski // XCellAddressable xCellAddress = (XCellAddressable) 305*b1cdbd2cSJim Jagielski // UnoRuntime.queryInterface(XCellAddressable.class, xCell); 306*b1cdbd2cSJim Jagielski // System.out.println("Formula cell in column " + 307*b1cdbd2cSJim Jagielski // xCellAddress.getCellAddress().Column 308*b1cdbd2cSJim Jagielski // + ", row " + xCellAddress.getCellAddress().Row 309*b1cdbd2cSJim Jagielski // + " contains " + xCell.getFormula()); 310*b1cdbd2cSJim Jagielski // } 311*b1cdbd2cSJim Jagielski 312*b1cdbd2cSJim Jagielski // } 313*b1cdbd2cSJim Jagielski // catch( com.sun.star.lang.DisposedException e ) { //works from Patch 1 314*b1cdbd2cSJim Jagielski // xRemoteContext = null; 315*b1cdbd2cSJim Jagielski // throw e; 316*b1cdbd2cSJim Jagielski // } 317*b1cdbd2cSJim Jagielski // } 318*b1cdbd2cSJim Jagielski // } 319