1*b1cdbd2cSJim Jagielski<?xml version="1.0" encoding="UTF-8"?> 2*b1cdbd2cSJim Jagielski<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3*b1cdbd2cSJim Jagielski<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XNamedRanges" script:language="StarBasic"> 4*b1cdbd2cSJim Jagielski 5*b1cdbd2cSJim Jagielski 6*b1cdbd2cSJim Jagielski'************************************************************************* 7*b1cdbd2cSJim Jagielski' 8*b1cdbd2cSJim Jagielski' Licensed to the Apache Software Foundation (ASF) under one 9*b1cdbd2cSJim Jagielski' or more contributor license agreements. See the NOTICE file 10*b1cdbd2cSJim Jagielski' distributed with this work for additional information 11*b1cdbd2cSJim Jagielski' regarding copyright ownership. The ASF licenses this file 12*b1cdbd2cSJim Jagielski' to you under the Apache License, Version 2.0 (the 13*b1cdbd2cSJim Jagielski' "License"); you may not use this file except in compliance 14*b1cdbd2cSJim Jagielski' with the License. You may obtain a copy of the License at 15*b1cdbd2cSJim Jagielski' 16*b1cdbd2cSJim Jagielski' http://www.apache.org/licenses/LICENSE-2.0 17*b1cdbd2cSJim Jagielski' 18*b1cdbd2cSJim Jagielski' Unless required by applicable law or agreed to in writing, 19*b1cdbd2cSJim Jagielski' software distributed under the License is distributed on an 20*b1cdbd2cSJim Jagielski' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 21*b1cdbd2cSJim Jagielski' KIND, either express or implied. See the License for the 22*b1cdbd2cSJim Jagielski' specific language governing permissions and limitations 23*b1cdbd2cSJim Jagielski' under the License. 24*b1cdbd2cSJim Jagielski' 25*b1cdbd2cSJim Jagielski'************************************************************************* 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski 28*b1cdbd2cSJim Jagielski 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski' Be sure that all variables are dimensioned: 32*b1cdbd2cSJim Jagielskioption explicit 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim JagielskiSub RunTest() 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski'************************************************************************* 39*b1cdbd2cSJim Jagielski' INTERFACE: 40*b1cdbd2cSJim Jagielski' com.sun.star.sheet.XNamedRanges 41*b1cdbd2cSJim Jagielski'************************************************************************* 42*b1cdbd2cSJim JagielskiOn Error Goto ErrHndl 43*b1cdbd2cSJim Jagielski Dim bOK As Boolean 44*b1cdbd2cSJim Jagielski Dim count As Integer 45*b1cdbd2cSJim Jagielski Dim outRange As New com.sun.star.table.CellAddress 46*b1cdbd2cSJim Jagielski Dim range As New com.sun.star.table.CellRangeAddress 47*b1cdbd2cSJim Jagielski Dim i As Integer 48*b1cdbd2cSJim Jagielski 49*b1cdbd2cSJim Jagielski Test.StartMethod("addNewByName()") 50*b1cdbd2cSJim Jagielski bOK = true 51*b1cdbd2cSJim Jagielski outRange.Sheet = 0 52*b1cdbd2cSJim Jagielski outRange.Row = 1 53*b1cdbd2cSJim Jagielski outRange.Column = 1 54*b1cdbd2cSJim Jagielski count = oObj.Count 55*b1cdbd2cSJim Jagielski oObj.addNewByName(cIfcShortName, "T4:Y7", outRange, 0) 56*b1cdbd2cSJim Jagielski bOK = bOK AND oObj.count = count + 1 57*b1cdbd2cSJim Jagielski bOK = bOK AND oObj.hasByName(cIfcShortName) 58*b1cdbd2cSJim Jagielski Test.MethodTested("addNewByName()", bOK) 59*b1cdbd2cSJim Jagielski 60*b1cdbd2cSJim Jagielski Test.StartMethod("addNewFromTitles()") 61*b1cdbd2cSJim Jagielski bOK = true 62*b1cdbd2cSJim Jagielski count = oObj.count 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski range.Sheet = 0 65*b1cdbd2cSJim Jagielski range.StartRow = 1 66*b1cdbd2cSJim Jagielski range.StartColumn = 2 67*b1cdbd2cSJim Jagielski range.EndRow = 3 68*b1cdbd2cSJim Jagielski range.EndColumn = 4 69*b1cdbd2cSJim Jagielski 70*b1cdbd2cSJim Jagielski for i = 1 to 5 71*b1cdbd2cSJim Jagielski oDoc.Sheets(0).getCellByPosition(i, 1).String = "Col" & i 72*b1cdbd2cSJim Jagielski next i 73*b1cdbd2cSJim Jagielski 74*b1cdbd2cSJim Jagielski oObj.addNewFromTitles(range, com.sun.star.sheet.Border.TOP) 75*b1cdbd2cSJim Jagielski 76*b1cdbd2cSJim Jagielski bOK = bOK AND (oObj.count = count + 3) 77*b1cdbd2cSJim Jagielski 78*b1cdbd2cSJim Jagielski bOK = bOK AND NOT oObj.hasByName("Col1") 79*b1cdbd2cSJim Jagielski bOK = bOK AND oObj.hasByName("Col2") 80*b1cdbd2cSJim Jagielski bOK = bOK AND oObj.hasByName("Col3") 81*b1cdbd2cSJim Jagielski bOK = bOK AND oObj.hasByName("Col4") 82*b1cdbd2cSJim Jagielski bOK = bOK AND NOT oObj.hasByName("Col5") 83*b1cdbd2cSJim Jagielski Test.MethodTested("addNewFromTitles()", bOK) 84*b1cdbd2cSJim Jagielski 85*b1cdbd2cSJim Jagielski Test.StartMethod("removeByName()") 86*b1cdbd2cSJim Jagielski bOK = true 87*b1cdbd2cSJim Jagielski count = oObj.Count 88*b1cdbd2cSJim Jagielski oObj.removeByName(cIfcShortName) 89*b1cdbd2cSJim Jagielski bOK = bOK AND (count = oObj.count + 1) 90*b1cdbd2cSJim Jagielski bOK = bOK AND NOT oObj.hasByName(cIfcShortName) 91*b1cdbd2cSJim Jagielski Test.MethodTested("removeByName()", bOK) 92*b1cdbd2cSJim Jagielski 93*b1cdbd2cSJim Jagielski Test.StartMethod("outputList()") 94*b1cdbd2cSJim Jagielski bOK = true 95*b1cdbd2cSJim Jagielski outRange.Sheet = 0 96*b1cdbd2cSJim Jagielski outRange.Row = 5 97*b1cdbd2cSJim Jagielski outRange.Column = 5 98*b1cdbd2cSJim Jagielski 99*b1cdbd2cSJim Jagielski count = oObj.count 100*b1cdbd2cSJim Jagielski for i = 4 to 5 + count 101*b1cdbd2cSJim Jagielski oDoc.Sheets(0).getCellByPosition(5, i).String = "a" 102*b1cdbd2cSJim Jagielski oDoc.Sheets(0).getCellByPosition(6, i).String = "b" 103*b1cdbd2cSJim Jagielski next i 104*b1cdbd2cSJim Jagielski 105*b1cdbd2cSJim Jagielski oObj.outputList(outRange) 106*b1cdbd2cSJim Jagielski 107*b1cdbd2cSJim Jagielski bOK = bOK AND oDoc.Sheets(0).getCellByPosition(5, 4).String = "a" 108*b1cdbd2cSJim Jagielski bOK = bOK AND oDoc.Sheets(0).getCellByPosition(6, 4).String = "b" 109*b1cdbd2cSJim Jagielski bOK = bOK AND oDoc.Sheets(0).getCellByPosition(5, 5 + count).String = "a" 110*b1cdbd2cSJim Jagielski bOK = bOK AND oDoc.Sheets(0).getCellByPosition(6, 5 + count).String = "b" 111*b1cdbd2cSJim Jagielski 112*b1cdbd2cSJim Jagielski for i = 5 to 4 + count 113*b1cdbd2cSJim Jagielski bOK = bOK AND oDoc.Sheets(0).getCellByPosition(5, i).String <> "a" 114*b1cdbd2cSJim Jagielski bOK = bOK AND oDoc.Sheets(0).getCellByPosition(6, i).String <> "b" 115*b1cdbd2cSJim Jagielski bOK = bOK AND oObj.hasByName(oDoc.Sheets(0).getCellByPosition(5, i).String) 116*b1cdbd2cSJim Jagielski next i 117*b1cdbd2cSJim Jagielski 118*b1cdbd2cSJim Jagielski Test.MethodTested("outputList()", bOK) 119*b1cdbd2cSJim Jagielski 120*b1cdbd2cSJim JagielskiExit Sub 121*b1cdbd2cSJim JagielskiErrHndl: 122*b1cdbd2cSJim Jagielski Test.Exception() 123*b1cdbd2cSJim Jagielski bOK = false 124*b1cdbd2cSJim Jagielski resume next 125*b1cdbd2cSJim JagielskiEnd Sub 126*b1cdbd2cSJim Jagielski</script:module> 127