'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2008 by Sun Microsystems, Inc. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' $RCSfile: sc_ScTableSheetObj.xba,v $ ' ' $Revision: 1.4 $ ' ' This file is part of OpenOffice.org. ' ' OpenOffice.org is free software: you can redistribute it and/or modify ' it under the terms of the GNU Lesser General Public License version 3 ' only, as published by the Free Software Foundation. ' ' OpenOffice.org is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY; without even the implied warranty of ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ' GNU Lesser General Public License version 3 for more details ' (a copy is included in the LICENSE file that accompanied this code). ' ' You should have received a copy of the GNU Lesser General Public License ' version 3 along with OpenOffice.org. If not, see ' ' for a copy of the LGPLv3 License. ' '************************************************************************* '************************************************************************* ' Be sure that all variables are dimensioned: option explicit ' REQUIRED VARIABLES for interface/service tests: ' Required for com.sun.star.sheet.Spreadsheet Global sStyleName As String ' Required for com.sun.star.chart.XChartData Global oCellToChange As Object Sub CreateObj() '************************************************************************* ' COMPONENT: ' sc.ScTableSheetObj '************************************************************************* On Error Goto ErrHndl Dim oStyleFamilies As Variant Dim oNewPageStyle As Object Dim oStyleFamily As Object oDoc = utils.createDocument("scalc", cObjectName) oObj = oDoc.sheets(0) sStyleName = "MyStyle" ' Adding new page style for Spreadsheet service testing oStyleFamilies = oDoc.StyleFamilies oStyleFamily = oStyleFamilies.getByName("PageStyles") oNewPageStyle = oDoc.createInstance("com.sun.star.style.PageStyle") oStyleFamily.insertByName(sStyleName, oNewPageStyle) oCellToChange = oObj.getCellByPosition(2, 2) Exit Sub ErrHndl: Test.Exception() End Sub Function modifyDescriptor(descr As Variant) As Variant On Error Goto ErrHndl Dim i As Integer, n as Integer Dim oCell As Object Dim vFields(0) as new com.sun.star.table.TableSortField for i = 0 to 10 - 1 oCell = oObj.getCellByPosition(0, i) oCell.String = "" + (10 - i) oCell.setFormula(10 - i) next i 'ShowNameValuePair(descr) vFields(0).IsCaseSensitive = false vFields(0).IsAscending = true vFields(0).FieldType = com.sun.star.table.TableSortFieldType.ALPHANUMERIC for i = 0 to ubound(descr) if descr(i).Name = "IsSortColumns" then descr(i).Value = false if descr(i).Name = "SortFields" then descr(i).Value = vFields() next i modifyDescriptor() = descr Exit Function ErrHndl: Out.Log("Exception in ScTableSheetObj.modifyDescriptor() :") Test.Exception() end Function Function checkSort() As Boolean On Error Goto ErrHndl Dim i As Integer, oCell As Object Dim bOK As Boolean bOK = true for i = 0 to 10 - 1 oCell = oObj.getCellByPosition(0,i) bOK = bOK AND oCell.String = "" + (i + 1) out.dbg(oCell.String + ":" + (i+1)) next i checkSort() = bOK Exit Function ErrHndl: Out.Log("Exception in ScTableSheetObj.checkSort() :") Test.Exception() end Function