1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sheet_XSpreadsheets" script:language="StarBasic"> 4 5 6'************************************************************************* 7' 8' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9' 10' Copyright 2000, 2010 Oracle and/or its affiliates. 11' 12' OpenOffice.org - a multi-platform office productivity suite 13' 14' This file is part of OpenOffice.org. 15' 16' OpenOffice.org is free software: you can redistribute it and/or modify 17' it under the terms of the GNU Lesser General Public License version 3 18' only, as published by the Free Software Foundation. 19' 20' OpenOffice.org is distributed in the hope that it will be useful, 21' but WITHOUT ANY WARRANTY; without even the implied warranty of 22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23' GNU Lesser General Public License version 3 for more details 24' (a copy is included in the LICENSE file that accompanied this code). 25' 26' You should have received a copy of the GNU Lesser General Public License 27' version 3 along with OpenOffice.org. If not, see 28' <http://www.openoffice.org/license.html> 29' for a copy of the LGPLv3 License. 30' 31'************************************************************************* 32***** 33'************************************************************************* 34 35 36 37' Be sure that all variables are dimensioned: 38option explicit 39 40'************************************************************************* 41' This Interface/Service test depends on the following GLOBAL variables, 42' which must be specified in the object creation: 43 44' - Global nGlobalLong As Long the number of sheets 45 46'************************************************************************* 47 48 49 50 51 52 53Sub RunTest() 54 55'************************************************************************* 56' INTERFACE: 57' com.sun.star.sheet.XSpreadsheets 58'************************************************************************* 59On Error Goto ErrHndl 60 Dim bOK As Boolean 61 Dim l As Integer 62 Dim sname As String 63 Dim oSheet1, oSheet2 As Object 64 65 66 Test.StartMethod("insertNewByName()") 67 bOK = true 68 for l = 1 to nGlobalLong 69 sname = cIfcShortName & CStr(l) 70 oObj.insertNewByName(sname, l) 71 oSheet1 = oObj.getByName(sname) 72 oSheet2 = oObj.getByIndex(l) 73 bOK = bOK AND NOT isNull(oSheet1) 74 bOK = bOK AND NOT isNull(oSheet2) 75 if (bOK) then 76 bOK = bOK and oSheet1.name = oSheet2.name 77 end if 78 next l 79 Test.MethodTested("insertNewByName()", bOK) 80 81 Test.StartMethod("copyByName()") 82 bOK = true 83 l = 1 84 sname = cIfcShortName & "COPY" 85 oObj.copyByName(cIfcShortName & CStr(l), sname, l ) 86 oSheet1 = oObj.getByName(sname) 87 oSheet2 = oObj.getByIndex(l) 88 bOK = bOK AND NOT isNull(oSheet1) 89 bOK = bOK AND NOT isNull(oSheet2) 90 if (bOK) then 91 bOK = bOK AND oSheet1.name = oSheet2.name 92 end if 93 Test.MethodTested("copyByName()", bOK) 94 95 Test.StartMethod("moveByName()") 96 bOK = true 97 l = 1 98 sname = cIfcShortName & "2" 99 oObj.moveByName(sname, l) 100 oSheet1 = oObj.getByName(sname) 101 oSheet2 = oObj.getByIndex(l) 102 bOK = bOK AND NOT isNull(oSheet1) 103 bOK = bOK AND NOT isNull(oSheet2) 104 if (bOK) then 105 bOK = bOK AND oSheet1.name = oSheet2.name 106 end if 107 Out.Log(cIfcShortName & ":" & "#1 - " & bOK) 108 109 sname = cIfcShortName & "COPY" 110 l = nGlobalLong + 1 111 oObj.moveByName(sname, l) 112 l = l - 1 113 oSheet1 = oObj.getByName(sname) 114 oSheet2 = oObj.getByIndex(l) 115 bOK = bOK AND NOT isNull(oSheet1) 116 bOK = bOK AND NOT isNull(oSheet2) 117 if (bOK) then 118 bOK = bOK and oSheet1.name =oSheet2.name 119 end if 120 Test.MethodTested("moveByName()", bOK) 121 122 nGlobalLong = nGlobalLong * 2 + 1 ' nGlobalLong : 3 default sheets where already there 123 ' nGlobalLong have been inserted 124 ' + 1 has been created by Copy 125Exit Sub 126ErrHndl: 127 Test.Exception() 128 bOK = false 129 resume next 130End Sub 131</script:module> 132