'************************************************************************* ' ' Licensed to the Apache Software Foundation (ASF) under one ' or more contributor license agreements. See the NOTICE file ' distributed with this work for additional information ' regarding copyright ownership. The ASF licenses this file ' to you under the Apache License, Version 2.0 (the ' "License"); you may not use this file except in compliance ' with the License. You may obtain a copy of the License at ' ' http://www.apache.org/licenses/LICENSE-2.0 ' ' Unless required by applicable law or agreed to in writing, ' software distributed under the License is distributed on an ' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ' KIND, either express or implied. See the License for the ' specific language governing permissions and limitations ' under the License. ' '************************************************************************* ' Be sure that all variables are dimensioned: option explicit ' REQUIRED VARIABLES for interface/service tests: 'com.sun.star.sheet.XCellSeries Global aCellSeries(2) as Integer 'Required for com.sun.star.chart.XChartData Global oCellToChange As Object ' com.sun.star.sheet.XCellRangeData Global newData As Variant Sub CreateObj() '************************************************************************* ' COMPONENT: ' sc.ScCellRangeObj '************************************************************************* On Error Goto ErrHndl Dim oSheet, oRange As Object oDoc = utils.createDocument("scalc", cObjectName) oSheet = oDoc.Sheets(0) oCellToChange = oSheet.getCellByPosition(0, 0) oRange = oSheet.getCellRangeByPosition(0, 0, 10, 10) oObj = oRange aCellSeries(0) = 10 aCellSeries(1) = 10 'Required for XCellRangeData newData = Array(_ Array(2.5, 5.0, 2.5, 5.0, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0),_ Array(4.0, 9.0, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 2.5, 5.0),_ Array(2.5, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 5.0, 2.5, 5.0),_ Array(4.0, 9.0, 2.5, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 5.0),_ Array(2.5, 5.0, 2.5, 5.0, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0),_ Array(4.0, 9.0, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 2.5, 5.0),_ Array(2.5, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 5.0, 2.5, 5.0),_ Array(4.0, 9.0, 2.5, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 5.0),_ Array(2.5, 5.0, 2.5, 5.0, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0),_ Array(4.0, 9.0, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 2.5, 5.0),_ Array(2.5, 3.5, 8.7, 9.9, 0.3, 1.2, 3, 0, 5.0, 2.5, 5.0)) 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 aCellSeries(0) - 1 oCell = oObj.getCellByPosition(0, i) oCell.String = "" + (aCellSeries(0) - i) oCell.setFormula(aCellSeries(0) - 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 ScCellRangeObj.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 aCellSeries(0) - 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 ScCellRangeObj.checkSort() :") Test.Exception() end Function