1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: vbarange.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef SC_VBA_RANGE_HXX
31 #define SC_VBA_RANGE_HXX
33 #include <cppuhelper/implbase4.hxx>
34 #include <com/sun/star/container/XEnumerationAccess.hpp>
36 #include <ooo/vba/excel/XRange.hpp>
37 #include <com/sun/star/table/XCellRange.hpp>
38 #include <ooo/vba/excel/XFont.hpp>
39 #include <ooo/vba/excel/XComment.hpp>
40 #include <ooo/vba/XCollection.hpp>
41 #include <ooo/vba/excel/XlPasteType.hdl>
42 #include <ooo/vba/excel/XlPasteSpecialOperation.hdl>
44 #include <comphelper/proparrhlp.hxx>
45 #include <comphelper/propertycontainer.hxx>
46 #include <com/sun/star/beans/XPropertySet.hpp>
47 #include <com/sun/star/beans/PropertyAttribute.hpp>
48 #include <com/sun/star/script/XDefaultMethod.hpp>
49 #include <com/sun/star/script/XDefaultProperty.hpp>
50 #include <com/sun/star/sheet/FillDateMode.hpp>
51 #include <com/sun/star/sheet/FillMode.hpp>
52 #include <com/sun/star/sheet/FillDirection.hpp>
53 #include <com/sun/star/sheet/XSpreadsheet.hpp>
54 #include <com/sun/star/sheet/XSheetCellRangeContainer.hpp>
56 //#include <vbahelper/vbahelperinterface.hxx>
57 #include "vbaformat.hxx"
58 #include <formula/grammar.hxx>
60 class ScTableSheetsObj
;
61 class ScCellRangesBase
;
66 //typedef InheritedHelperInterfaceImpl1< ov::excel::XRange > ScVbaRange_BASE;
67 typedef ScVbaFormat
< ov::excel::XRange
> ScVbaRange_BASE
;
72 virtual void visitNode( sal_Int32 x
, sal_Int32 y
, const css::uno::Reference
< css::table::XCell
>& xCell
) = 0;
73 virtual ~ArrayVisitor(){}
76 class ValueSetter
: public ArrayVisitor
79 virtual bool processValue( const css::uno::Any
& aValue
, const css::uno::Reference
< css::table::XCell
>& xCell
) = 0;
84 class ValueGetter
: public ArrayVisitor
88 virtual void processValue( sal_Int32 x
, sal_Int32 y
, const css::uno::Any
& aValue
) = 0;
89 virtual const css::uno::Any
& getValue() const = 0;
94 class ScVbaRange
: public ScVbaRange_BASE
96 css::uno::Reference
< ov::XCollection
> m_Areas
;
97 css::uno::Reference
< ov::XCollection
> m_Borders
;
98 css::uno::Reference
< css::table::XCellRange
> mxRange
;
99 css::uno::Reference
< css::sheet::XSheetCellRangeContainer
> mxRanges
;
101 sal_Bool mbIsColumns
;
102 css::uno::Reference
< ov::excel::XValidation
> m_xValidation
;
103 double getCalcColWidth( const css::table::CellRangeAddress
& ) throw (css::uno::RuntimeException
);
104 double getCalcRowHeight( const css::table::CellRangeAddress
& ) throw (css::uno::RuntimeException
);
105 void visitArray( ArrayVisitor
& vistor
);
107 css::uno::Reference
< ov::excel::XRange
> getEntireColumnOrRow( bool bColumn
= true ) throw( css::uno::RuntimeException
);
109 void fillSeries( css::sheet::FillDirection nFillDirection
, css::sheet::FillMode nFillMode
, css::sheet::FillDateMode nFillDateMode
, double fStep
, double fEndValue
) throw( css::uno::RuntimeException
);
111 void ClearContents( sal_Int32 nFlags
) throw (css::uno::RuntimeException
);
112 virtual void setValue( const css::uno::Any
& aValue
, ValueSetter
& setter
) throw ( css::uno::RuntimeException
);
113 virtual css::uno::Any
getValue( ValueGetter
& rValueGetter
) throw (css::uno::RuntimeException
);
114 virtual css::uno::Any
getFormulaValue( formula::FormulaGrammar::Grammar
) throw (css::uno::RuntimeException
);
115 virtual void setFormulaValue( const css::uno::Any
& aValue
, formula::FormulaGrammar::Grammar
) throw ( css::uno::RuntimeException
);
116 css::uno::Reference
< ov::excel::XRange
> getArea( sal_Int32 nIndex
) throw( css::uno::RuntimeException
);
117 ScCellRangesBase
* getCellRangesBase() throw ( css::uno::RuntimeException
);
118 ScCellRangeObj
* getCellRangeObj( ) throw ( css::uno::RuntimeException
);
119 SfxItemSet
* getCurrentDataSet( ) throw ( css::uno::RuntimeException
);
120 css::uno::Reference
< ov::XCollection
>& getBorders();
121 void groupUnGroup( bool bUnGroup
= false ) throw ( css::script::BasicErrorException
, css::uno::RuntimeException
);
122 css::uno::Reference
< ov::excel::XRange
> PreviousNext( bool bIsPrevious
);
123 css::uno::Reference
< ov::excel::XRange
> SpecialCellsImpl( sal_Int32 nType
, const css::uno::Any
& _oValue
) throw ( css::script::BasicErrorException
);
124 css::awt::Point
getPosition() throw ( css::uno::RuntimeException
);
126 ScVbaRange( const css::uno::Reference
< ov::XHelperInterface
>& xParent
, const css::uno::Reference
< css::uno::XComponentContext
>& xContext
, const css::uno::Reference
< css::table::XCellRange
>& xRange
, sal_Bool bIsRows
= false, sal_Bool bIsColumns
= false ) throw ( css::lang::IllegalArgumentException
);
127 ScVbaRange( const css::uno::Reference
< ov::XHelperInterface
>& xParent
, const css::uno::Reference
< css::uno::XComponentContext
>& xContext
, const css::uno::Reference
< css::sheet::XSheetCellRangeContainer
>& xRanges
, sal_Bool bIsRows
= false, sal_Bool bIsColumns
= false ) throw ( css::lang::IllegalArgumentException
);
128 ScVbaRange( css::uno::Sequence
< css::uno::Any
> const& aArgs
, css::uno::Reference
< css::uno::XComponentContext
>const& xContext
) throw ( css::lang::IllegalArgumentException
);
130 ScDocument
* getScDocument();
131 ScDocShell
* getScDocShell();
133 virtual ~ScVbaRange();
134 virtual css::uno::Reference
< ov::XHelperInterface
> thisHelperIface() { return this; }
135 bool isSingleCellRange();
136 static css::uno::Reference
< ov::excel::XRange
> getRangeObjectForName( const css::uno::Reference
< css::uno::XComponentContext
>& xContext
, const rtl::OUString
& sRangeName
, ScDocShell
* pDocSh
, formula::FormulaGrammar::AddressConvention eConv
= formula::FormulaGrammar::CONV_XL_A1
) throw ( css::uno::RuntimeException
);
139 virtual css::uno::Any SAL_CALL
getValue() throw (css::uno::RuntimeException
);
140 virtual void SAL_CALL
setValue( const css::uno::Any
& aValue
) throw ( css::uno::RuntimeException
);
141 virtual css::uno::Any SAL_CALL
getFormula() throw (css::uno::RuntimeException
);
142 virtual void SAL_CALL
setFormula( const css::uno::Any
& rFormula
) throw (css::uno::RuntimeException
);
143 virtual css::uno::Any SAL_CALL
getFormulaArray() throw (css::uno::RuntimeException
);
144 virtual void SAL_CALL
setFormulaArray(const css::uno::Any
& rFormula
) throw (css::uno::RuntimeException
);
145 virtual css::uno::Any SAL_CALL
getFormulaR1C1() throw (css::uno::RuntimeException
);
146 virtual void SAL_CALL
setFormulaR1C1( const css::uno::Any
&rFormula
) throw (css::uno::RuntimeException
);
147 virtual ::sal_Int32 SAL_CALL
getCount() throw (css::uno::RuntimeException
);
148 virtual ::sal_Int32 SAL_CALL
getRow() throw (css::uno::RuntimeException
);
149 virtual ::sal_Int32 SAL_CALL
getColumn() throw (css::uno::RuntimeException
);
150 virtual ::rtl::OUString SAL_CALL
getText() throw (css::uno::RuntimeException
);
151 using ScVbaRange_BASE::setNumberFormat
;
152 virtual void SAL_CALL
setNumberFormat( const css::uno::Any
& rNumberFormat
) throw ( css::script::BasicErrorException
, css::uno::RuntimeException
);
153 virtual css::uno::Any SAL_CALL
getNumberFormat() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
154 virtual void SAL_CALL
setMergeCells( const css::uno::Any
& bMerge
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
155 virtual css::uno::Any SAL_CALL
getMergeCells() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
156 virtual void SAL_CALL
setWrapText( const css::uno::Any
& bIsWrapped
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
157 virtual css::uno::Any SAL_CALL
getWrapText() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
158 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
getEntireRow() throw (css::uno::RuntimeException
);
159 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
getEntireColumn() throw (css::uno::RuntimeException
);
160 virtual css::uno::Reference
< ov::excel::XComment
> SAL_CALL
getComment() throw (css::uno::RuntimeException
);
161 virtual css::uno::Any SAL_CALL
getHidden() throw (css::uno::RuntimeException
);
162 virtual void SAL_CALL
setHidden( const css::uno::Any
& _hidden
) throw (css::uno::RuntimeException
);
163 virtual css::uno::Any SAL_CALL
getColumnWidth() throw (css::uno::RuntimeException
);
164 virtual void SAL_CALL
setColumnWidth( const css::uno::Any
& _columnwidth
) throw (css::uno::RuntimeException
);
165 virtual css::uno::Any SAL_CALL
getRowHeight() throw (css::uno::RuntimeException
);
166 virtual void SAL_CALL
setRowHeight( const css::uno::Any
& _rowheight
) throw (css::uno::RuntimeException
);
167 virtual css::uno::Any SAL_CALL
getWidth() throw (css::uno::RuntimeException
);
168 virtual css::uno::Any SAL_CALL
getHeight() throw (css::uno::RuntimeException
);
169 virtual css::uno::Any SAL_CALL
getTop() throw (css::uno::RuntimeException
);
170 virtual css::uno::Any SAL_CALL
getLeft() throw (css::uno::RuntimeException
);
172 virtual css::uno::Reference
< ov::excel::XWorksheet
> SAL_CALL
getWorksheet() throw (css::uno::RuntimeException
);
173 virtual css::uno::Any SAL_CALL
getPageBreak() throw (css::uno::RuntimeException
);
174 virtual void SAL_CALL
setPageBreak( const css::uno::Any
& _pagebreak
) throw (css::uno::RuntimeException
);
175 virtual css::uno::Reference
< ov::excel::XValidation
> SAL_CALL
getValidation() throw (css::uno::RuntimeException
);
176 virtual css::uno::Any SAL_CALL
getFormulaHidden() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
177 virtual void SAL_CALL
setFormulaHidden(const css::uno::Any
& aHidden
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
178 //virtual css::uno::Any SAL_CALL getLocked() throw (css::script::BasicErrorException, css::uno::RuntimeException);
179 //virtual void SAL_CALL setLocked(const css::uno::Any& aLocked) throw (css::script::BasicErrorException, css::uno::RuntimeException);
180 virtual css::uno::Any SAL_CALL
getShowDetail() throw (css::uno::RuntimeException
);
181 virtual void SAL_CALL
setShowDetail(const css::uno::Any
& aShowDetail
) throw (css::uno::RuntimeException
);
183 sal_Bool
IsRows() { return mbIsRows
; }
184 sal_Bool
IsColumns() { return mbIsColumns
; }
185 virtual css::uno::Reference
< ov::excel::XComment
> SAL_CALL
AddComment( const css::uno::Any
& Text
) throw (css::uno::RuntimeException
);
186 virtual void SAL_CALL
Clear() throw (css::uno::RuntimeException
);
187 virtual void SAL_CALL
ClearComments() throw (css::uno::RuntimeException
);
188 virtual void SAL_CALL
ClearContents() throw (css::uno::RuntimeException
);
189 virtual void SAL_CALL
ClearFormats() throw (css::uno::RuntimeException
);
190 virtual css::uno::Any SAL_CALL
HasFormula() throw (css::uno::RuntimeException
);
191 virtual void SAL_CALL
FillLeft() throw (css::uno::RuntimeException
);
192 virtual void SAL_CALL
FillRight() throw (css::uno::RuntimeException
);
193 virtual void SAL_CALL
FillUp() throw (css::uno::RuntimeException
);
194 virtual void SAL_CALL
FillDown() throw (css::uno::RuntimeException
);
195 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Offset( const css::uno::Any
&nRowOffset
, const css::uno::Any
&nColOffset
)
196 throw (css::uno::RuntimeException
);
197 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
CurrentRegion() throw (css::uno::RuntimeException
);
198 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
CurrentArray() throw (css::uno::RuntimeException
);
199 virtual ::rtl::OUString SAL_CALL
Characters( const css::uno::Any
& nIndex
, const css::uno::Any
& nCount
)
200 throw (css::uno::RuntimeException
);
202 virtual ::rtl::OUString SAL_CALL
Address( const css::uno::Any
& RowAbsolute
, const css::uno::Any
& ColumnAbsolute
, const css::uno::Any
& ReferenceStyle
, const css::uno::Any
& External
, const css::uno::Any
& RelativeTo
) throw (css::uno::RuntimeException
);
204 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Cells( const css::uno::Any
&nRow
, const css::uno::Any
&nCol
)
205 throw (css::uno::RuntimeException
);
206 virtual void SAL_CALL
Select() throw (css::uno::RuntimeException
);
207 virtual void SAL_CALL
Activate() throw (css::uno::RuntimeException
);
208 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Rows( const css::uno::Any
& nIndex
) throw (css::uno::RuntimeException
);
209 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Columns( const css::uno::Any
&nIndex
) throw (css::uno::RuntimeException
);
210 virtual void SAL_CALL
Copy( const css::uno::Any
& Destination
) throw (css::uno::RuntimeException
);
211 virtual void SAL_CALL
Cut( const css::uno::Any
& Destination
) throw (css::uno::RuntimeException
);
212 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Resize( const css::uno::Any
& RowSize
, const css::uno::Any
& ColumnSize
)
213 throw (css::uno::RuntimeException
);
214 virtual css::uno::Reference
< ov::excel::XFont
> SAL_CALL
Font() throw ( css::script::BasicErrorException
, css::uno::RuntimeException
);
215 virtual css::uno::Reference
< ov::excel::XInterior
> SAL_CALL
Interior( ) throw ( css::script::BasicErrorException
, css::uno::RuntimeException
) ;
216 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Range( const css::uno::Any
&Cell1
, const css::uno::Any
&Cell2
) throw (css::uno::RuntimeException
);
217 virtual css::uno::Reference
< ov::excel::XRange
> Range( const css::uno::Any
&Cell1
, const css::uno::Any
&Cell2
, bool bForceUseInpuRangeTab
) throw (css::uno::RuntimeException
);
218 virtual css::uno::Any SAL_CALL
getCellRange( ) throw (css::uno::RuntimeException
);
219 virtual void SAL_CALL
PasteSpecial( const css::uno::Any
& Paste
, const css::uno::Any
& Operation
, const css::uno::Any
& SkipBlanks
, const css::uno::Any
& Transpose
) throw (css::uno::RuntimeException
);
220 virtual ::sal_Bool SAL_CALL
Replace( const ::rtl::OUString
& What
, const ::rtl::OUString
& Replacement
, const css::uno::Any
& LookAt
, const css::uno::Any
& SearchOrder
, const css::uno::Any
& MatchCase
, const css::uno::Any
& MatchByte
, const css::uno::Any
& SearchFormat
, const css::uno::Any
& ReplaceFormat
) throw (css::uno::RuntimeException
);
221 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Find( const css::uno::Any
& What
, const css::uno::Any
& After
, const css::uno::Any
& LookIn
, const css::uno::Any
& LookAt
, const css::uno::Any
& SearchOrder
, const css::uno::Any
& SearchDirection
, const css::uno::Any
& MatchCase
, const css::uno::Any
& MatchByte
, const css::uno::Any
& SearchFormat
) throw (css::uno::RuntimeException
);
222 virtual void SAL_CALL
Sort( const css::uno::Any
& Key1
, const css::uno::Any
& Order1
, const css::uno::Any
& Key2
, const css::uno::Any
& Type
, const css::uno::Any
& Order2
, const css::uno::Any
& Key3
, const css::uno::Any
& Order3
, const css::uno::Any
& Header
, const css::uno::Any
& OrderCustom
, const css::uno::Any
& MatchCase
, const css::uno::Any
& Orientation
, const css::uno::Any
& SortMethod
, const css::uno::Any
& DataOption1
, const css::uno::Any
& DataOption2
, const css::uno::Any
& DataOption3
) throw (css::uno::RuntimeException
);
223 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
End( ::sal_Int32 Direction
) throw (css::uno::RuntimeException
);
224 virtual css::uno::Reference
< ov::excel::XCharacters
> SAL_CALL
characters( const css::uno::Any
& Start
, const css::uno::Any
& Length
) throw (css::uno::RuntimeException
);
225 virtual void SAL_CALL
Delete( const css::uno::Any
& Shift
) throw (css::uno::RuntimeException
);
226 virtual css::uno::Any SAL_CALL
Areas( const css::uno::Any
& ) throw (css::uno::RuntimeException
);
227 virtual css::uno::Any SAL_CALL
Borders( const css::uno::Any
& ) throw ( css::script::BasicErrorException
, css::uno::RuntimeException
);
228 virtual css::uno::Any SAL_CALL
BorderAround( const css::uno::Any
& LineStyle
,
229 const css::uno::Any
& Weight
, const css::uno::Any
& ColorIndex
, const css::uno::Any
& Color
) throw (css::uno::RuntimeException
);
230 virtual void SAL_CALL
TextToColumns( const css::uno::Any
& Destination
, const css::uno::Any
& DataType
, const css::uno::Any
& TextQualifier
,
231 const css::uno::Any
& ConsecutinveDelimiter
, const css::uno::Any
& Tab
, const css::uno::Any
& Semicolon
, const css::uno::Any
& Comma
,
232 const css::uno::Any
& Space
, const css::uno::Any
& Other
, const css::uno::Any
& OtherChar
, const css::uno::Any
& FieldInfo
,
233 const css::uno::Any
& DecimalSeparator
, const css::uno::Any
& ThousandsSeparator
, const css::uno::Any
& TrailingMinusNumbers
) throw (css::uno::RuntimeException
);
235 virtual void SAL_CALL
AutoFilter( const css::uno::Any
& Field
, const css::uno::Any
& Criteria1
, const css::uno::Any
& Operator
, const css::uno::Any
& Criteria2
, const css::uno::Any
& VisibleDropDown
) throw (css::uno::RuntimeException
);
236 virtual void SAL_CALL
Insert( const css::uno::Any
& Shift
, const css::uno::Any
& CopyOrigin
) throw (css::uno::RuntimeException
);
237 virtual void SAL_CALL
Autofit() throw (css::uno::RuntimeException
);
238 virtual void SAL_CALL
PrintOut( const css::uno::Any
& From
, const css::uno::Any
& To
, const css::uno::Any
& Copies
, const css::uno::Any
& Preview
, const css::uno::Any
& ActivePrinter
, const css::uno::Any
& PrintToFile
, const css::uno::Any
& Collate
, const css::uno::Any
& PrToFileName
) throw (css::uno::RuntimeException
);
239 virtual void SAL_CALL
AutoFill( const css::uno::Reference
< ov::excel::XRange
>& Destination
, const css::uno::Any
& Type
) throw (css::uno::RuntimeException
) ;
240 void SAL_CALL
Calculate( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
241 virtual void SAL_CALL
AutoOutline( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
242 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Item( const ::css::uno::Any
& row
, const css::uno::Any
& column
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
243 virtual void SAL_CALL
ClearOutline( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
244 virtual void SAL_CALL
Ungroup( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
245 virtual void SAL_CALL
Group( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
246 virtual void SAL_CALL
Merge( const css::uno::Any
& Across
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
247 virtual void SAL_CALL
UnMerge( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
248 virtual css::uno::Any SAL_CALL
getStyle() throw (css::uno::RuntimeException
);
249 virtual void SAL_CALL
setStyle( const css::uno::Any
& _style
) throw (css::uno::RuntimeException
);
250 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Next() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
251 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Previous() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
252 virtual void SAL_CALL
RemoveSubtotal( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
253 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
MergeArea() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
254 virtual void SAL_CALL
Subtotal( ::sal_Int32 GroupBy
, ::sal_Int32 Function
, const css::uno::Sequence
< ::sal_Int32
>& TotalList
, const css::uno::Any
& Replace
, const css::uno::Any
& PageBreaks
, const css::uno::Any
& SummaryBelowData
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
255 // XEnumerationAccess
256 virtual css::uno::Reference
< css::container::XEnumeration
> SAL_CALL
createEnumeration() throw (css::uno::RuntimeException
);
258 virtual css::uno::Type SAL_CALL
getElementType() throw (css::uno::RuntimeException
)
260 return ov::excel::XRange::static_type(0);
263 virtual sal_Bool SAL_CALL
hasElements() throw (css::uno::RuntimeException
);
265 ::rtl::OUString SAL_CALL
getDefaultMethodName( ) throw (css::uno::RuntimeException
);
267 ::rtl::OUString SAL_CALL
getDefaultPropertyName( ) throw (css::uno::RuntimeException
) { return ::rtl::OUString::createFromAscii("Value"); }
270 // #TODO completely rewrite ScVbaRange, its become a hackfest
271 // it needs to be closer to ScCellRangeBase in that the underlying
272 // object model should probably be a ScRangelst.
273 // * would be nice to be able to construct a range from an addres only
274 // * or a list of address ( multi-area )
275 // * object should be a lightweight as possible
276 // * we shouldn't need hacks like this below
277 static css::uno::Reference
< ov::excel::XRange
> ApplicationRange( const css::uno::Reference
< css::uno::XComponentContext
>& xContext
, const css::uno::Any
&Cell1
, const css::uno::Any
&Cell2
) throw (css::uno::RuntimeException
);
278 virtual sal_Bool SAL_CALL
GoalSeek( const css::uno::Any
& Goal
, const css::uno::Reference
< ov::excel::XRange
>& ChangingCell
) throw (css::uno::RuntimeException
);
279 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
SpecialCells( const css::uno::Any
& _oType
, const css::uno::Any
& _oValue
) throw ( css::script::BasicErrorException
);
281 virtual ::sal_Bool SAL_CALL
hasError( ) throw (css::uno::RuntimeException
);
283 virtual rtl::OUString
& getServiceImplName();
284 virtual css::uno::Sequence
<rtl::OUString
> getServiceNames();
286 #endif /* SC_VBA_RANGE_HXX */