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