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_XAreaLink" 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 38Sub RunTest() 39 40'************************************************************************* 41' INTERFACE: 42' com.sun.star.sheet.XAreaLink 43'************************************************************************* 44On Error Goto ErrHndl 45 Dim bOK As Boolean 46 47 48 Test.StartMethod("getSourceArea()") 49 bOK = true 50 Dim cArea As String 51 cArea = oObj.getSourceArea() 52 bOK = bOK AND NOT isNULL(cArea) 53 Test.MethodTested("getSourceArea()", bOK) 54 55 56 Test.StartMethod("setSourceArea()") 57 bOK = true 58 Dim oldArea As String 59 Dim newArea As String 60 oldArea = oObj.getSourceArea() 61 newArea = "Sheet0.I6:G8" 62 Out.Log("Set SourceArea to '" & newArea & "'") 63 oObj.setSourceArea(newArea) 64 newArea = oObj.getSourceArea() 65 Out.Log("SourceArea is '" & newArea & "'") 66 bOK = bOK AND oldArea <> newArea 67 oObj.setSourceArea(oldArea) 68 Test.MethodTested("setSourceArea()", bOK) 69 70 Test.StartMethod("getDestArea()") 71 Dim oArea As Object 72 bOK = true 73 oArea = oObj.getDestArea() 74 bOK = bOK AND NOT isNULL(oArea) 75 Test.MethodTested("getDestArea()", bOK) 76 77 Test.StartMethod("setDestArea()") 78 Dim sNewArea As New com.sun.star.table.CellRangeAddress 79 Dim sOldArea As Object 80 81 bOK = true 82 sOldArea = oObj.getDestArea() 83 84 sNewArea.Sheet = sOldArea.Sheet 85 sNewArea.StartRow = sOldArea.StartRow + 1 86 sNewArea.StartColumn = sOldArea.StartColumn + 1 87 sNewArea.EndRow = sOldArea.EndRow + 1 88 sNewArea.EndColumn = sOldArea.EndColumn + 1 89 90 oObj.setDestArea(sNewArea) 91 92 bOK = bOK AND NOT isNULL(oObj.getDestArea()) 93 if (bOK) then 94 bOK = bOK AND (sOldArea.Sheet = oObj.getDestArea.Sheet) 95 bOK = bOK AND (sOldArea.StartRow = oObj.getDestArea.StartRow - 1) 96 bOK = bOK AND (sOldArea.StartColumn = oObj.getDestArea.StartColumn - 1) 97 bOK = bOK AND (sOldArea.EndRow = oObj.getDestArea.EndRow - 1) 98 bOK = bOK AND (sOldArea.EndColumn = oObj.getDestArea.EndColumn - 1) 99 end if 100 101 oObj.setDestArea(sOldArea) 102 103 Test.MethodTested("setDestArea()", bOK) 104 105Exit Sub 106ErrHndl: 107 Test.Exception() 108 bOK = false 109 resume next 110End Sub 111</script:module> 112