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 '" &amp; newArea &amp; "'")
63    oObj.setSourceArea(newArea)
64    newArea = oObj.getSourceArea()
65    Out.Log("SourceArea is '" &amp; newArea &amp; "'")
66    bOK = bOK AND oldArea &lt;&gt; 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