1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef SC_VBA_RANGE_HXX
20 #define SC_VBA_RANGE_HXX
22 #include <cppuhelper/implbase4.hxx>
23 #include <com/sun/star/container/XEnumerationAccess.hpp>
25 #include <ooo/vba/excel/XRange.hpp>
26 #include <com/sun/star/table/XCellRange.hpp>
27 #include <ooo/vba/excel/XFont.hpp>
28 #include <ooo/vba/excel/XComment.hpp>
29 #include <ooo/vba/XCollection.hpp>
30 #include <ooo/vba/excel/XlPasteType.hpp>
31 #include <ooo/vba/excel/XlPasteSpecialOperation.hpp>
33 #include <comphelper/proparrhlp.hxx>
34 #include <comphelper/propertycontainer.hxx>
35 #include <com/sun/star/beans/XPropertySet.hpp>
36 #include <com/sun/star/beans/PropertyAttribute.hpp>
37 #include <com/sun/star/script/XDefaultMethod.hpp>
38 #include <com/sun/star/script/XDefaultProperty.hpp>
39 #include <com/sun/star/sheet/FillDateMode.hpp>
40 #include <com/sun/star/sheet/FillMode.hpp>
41 #include <com/sun/star/sheet/FillDirection.hpp>
42 #include <com/sun/star/sheet/XSpreadsheet.hpp>
43 #include <com/sun/star/sheet/XSheetCellRangeContainer.hpp>
45 #include "vbaformat.hxx"
46 #include <formula/grammar.hxx>
48 class ScCellRangesBase
;
54 typedef ScVbaFormat
< ov::excel::XRange
> ScVbaRange_BASE
;
59 virtual void visitNode( sal_Int32 x
, sal_Int32 y
, const css::uno::Reference
< css::table::XCell
>& xCell
) = 0;
60 virtual ~ArrayVisitor(){}
63 class ValueSetter
: public ArrayVisitor
66 virtual bool processValue( const css::uno::Any
& aValue
, const css::uno::Reference
< css::table::XCell
>& xCell
) = 0;
71 class ValueGetter
: public ArrayVisitor
75 virtual void processValue( sal_Int32 x
, sal_Int32 y
, const css::uno::Any
& aValue
) = 0;
76 virtual const css::uno::Any
& getValue() const = 0;
81 class ScVbaRange
: public ScVbaRange_BASE
83 css::uno::Reference
< ov::XCollection
> m_Areas
;
84 css::uno::Reference
< ov::XCollection
> m_Borders
;
85 css::uno::Reference
< css::table::XCellRange
> mxRange
;
86 css::uno::Reference
< css::sheet::XSheetCellRangeContainer
> mxRanges
;
89 css::uno::Reference
< ov::excel::XValidation
> m_xValidation
;
90 double getCalcColWidth( const css::table::CellRangeAddress
& ) throw (css::uno::RuntimeException
);
91 double getCalcRowHeight( const css::table::CellRangeAddress
& ) throw (css::uno::RuntimeException
);
92 void visitArray( ArrayVisitor
& vistor
);
94 css::uno::Reference
< ov::excel::XRange
> getEntireColumnOrRow( bool bColumn
= true ) throw( css::uno::RuntimeException
);
96 void fillSeries( css::sheet::FillDirection nFillDirection
, css::sheet::FillMode nFillMode
, css::sheet::FillDateMode nFillDateMode
, double fStep
, double fEndValue
) throw( css::uno::RuntimeException
);
98 void ClearContents( sal_Int32 nFlags
, bool bFireEvent
) throw (css::uno::RuntimeException
);
100 css::uno::Any
getValue( ValueGetter
& rValueGetter
) throw (css::uno::RuntimeException
);
101 void setValue( const css::uno::Any
& aValue
, ValueSetter
& setter
, bool bFireEvent
) throw ( css::uno::RuntimeException
);
103 css::uno::Any
getFormulaValue( formula::FormulaGrammar::Grammar
) throw (css::uno::RuntimeException
);
104 void setFormulaValue( const css::uno::Any
& aValue
, formula::FormulaGrammar::Grammar
, bool bFireEvent
) throw ( css::uno::RuntimeException
);
106 css::uno::Reference
< ov::excel::XRange
> getArea( sal_Int32 nIndex
) throw( css::uno::RuntimeException
);
107 ScCellRangeObj
* getCellRangeObj( ) throw ( css::uno::RuntimeException
);
108 css::uno::Reference
< ov::XCollection
>& getBorders();
109 void groupUnGroup( bool bUnGroup
= false ) throw ( css::script::BasicErrorException
, css::uno::RuntimeException
);
110 css::uno::Reference
< ov::excel::XRange
> PreviousNext( bool bIsPrevious
);
111 css::uno::Reference
< ov::excel::XRange
> SpecialCellsImpl( sal_Int32 nType
, const css::uno::Any
& _oValue
) throw ( css::script::BasicErrorException
);
112 css::awt::Point
getPosition() throw ( css::uno::RuntimeException
);
114 /** Fires a Worksheet_Change event for this range or range list. */
115 void fireChangeEvent();
118 virtual ScCellRangesBase
* getCellRangesBase() throw ( css::uno::RuntimeException
);
119 virtual SfxItemSet
* getCurrentDataSet( ) throw ( css::uno::RuntimeException
);
121 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
);
122 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
);
123 ScVbaRange( css::uno::Sequence
< css::uno::Any
> const& aArgs
, css::uno::Reference
< css::uno::XComponentContext
>const& xContext
) throw ( css::lang::IllegalArgumentException
);
125 ScDocument
* getScDocument() throw (css::uno::RuntimeException
);
126 ScDocShell
* getScDocShell() throw (css::uno::RuntimeException
);
128 /** Returns the ScVbaRange implementation object for the passed VBA Range object. */
129 static ScVbaRange
* getImplementation( const css::uno::Reference
< ov::excel::XRange
>& rxRange
);
131 css::uno::Reference
< css::frame::XModel
> getUnoModel() throw (css::uno::RuntimeException
);
132 static css::uno::Reference
< css::frame::XModel
> getUnoModel( const css::uno::Reference
< ov::excel::XRange
>& rxRange
) throw (css::uno::RuntimeException
);
134 const ScRangeList
& getScRangeList() throw (css::uno::RuntimeException
);
135 static const ScRangeList
& getScRangeList( const css::uno::Reference
< ov::excel::XRange
>& rxRange
) throw (css::uno::RuntimeException
);
137 virtual ~ScVbaRange();
138 virtual css::uno::Reference
< ov::XHelperInterface
> thisHelperIface() { return this; }
139 bool isSingleCellRange();
141 static css::uno::Reference
< ov::excel::XRange
> getRangeObjectForName(
142 const css::uno::Reference
< css::uno::XComponentContext
>& xContext
,
143 const OUString
& sRangeName
, ScDocShell
* pDocSh
,
144 formula::FormulaGrammar::AddressConvention eConv
= formula::FormulaGrammar::CONV_XL_A1
) throw ( css::uno::RuntimeException
);
146 static css::uno::Reference
< ov::excel::XRange
> CellsHelper(
147 const css::uno::Reference
< ov::XHelperInterface
>& xParent
,
148 const css::uno::Reference
< css::uno::XComponentContext
>& xContext
,
149 const css::uno::Reference
< css::table::XCellRange
>& xRange
,
150 const css::uno::Any
&nRowIndex
, const css::uno::Any
&nColumnIndex
) throw(css::uno::RuntimeException
);
153 virtual css::uno::Any SAL_CALL
getValue() throw (css::uno::RuntimeException
);
154 virtual void SAL_CALL
setValue( const css::uno::Any
& aValue
) throw ( css::uno::RuntimeException
);
155 virtual css::uno::Any SAL_CALL
getFormula() throw (css::uno::RuntimeException
);
156 virtual void SAL_CALL
setFormula( const css::uno::Any
& rFormula
) throw (css::uno::RuntimeException
);
157 virtual css::uno::Any SAL_CALL
getFormulaArray() throw (css::uno::RuntimeException
);
158 virtual void SAL_CALL
setFormulaArray(const css::uno::Any
& rFormula
) throw (css::uno::RuntimeException
);
159 virtual css::uno::Any SAL_CALL
getFormulaR1C1() throw (css::uno::RuntimeException
);
160 virtual void SAL_CALL
setFormulaR1C1( const css::uno::Any
&rFormula
) throw (css::uno::RuntimeException
);
161 virtual ::sal_Int32 SAL_CALL
getCount() throw (css::uno::RuntimeException
);
162 virtual ::sal_Int32 SAL_CALL
getRow() throw (css::uno::RuntimeException
);
163 virtual ::sal_Int32 SAL_CALL
getColumn() throw (css::uno::RuntimeException
);
164 virtual OUString SAL_CALL
getText() throw (css::uno::RuntimeException
);
165 using ScVbaRange_BASE::setNumberFormat
;
166 virtual void SAL_CALL
setNumberFormat( const css::uno::Any
& rNumberFormat
) throw ( css::script::BasicErrorException
, css::uno::RuntimeException
);
167 virtual css::uno::Any SAL_CALL
getNumberFormat() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
168 virtual void SAL_CALL
setMergeCells( const css::uno::Any
& bMerge
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
169 virtual css::uno::Any SAL_CALL
getMergeCells() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
170 virtual void SAL_CALL
setWrapText( const css::uno::Any
& bIsWrapped
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
171 virtual css::uno::Any SAL_CALL
getWrapText() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
172 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
getEntireRow() throw (css::uno::RuntimeException
);
173 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
getEntireColumn() throw (css::uno::RuntimeException
);
174 virtual css::uno::Reference
< ov::excel::XComment
> SAL_CALL
getComment() throw (css::uno::RuntimeException
);
175 virtual css::uno::Any SAL_CALL
getHidden() throw (css::uno::RuntimeException
);
176 virtual void SAL_CALL
setHidden( const css::uno::Any
& _hidden
) throw (css::uno::RuntimeException
);
177 virtual css::uno::Any SAL_CALL
getColumnWidth() throw (css::uno::RuntimeException
);
178 virtual void SAL_CALL
setColumnWidth( const css::uno::Any
& _columnwidth
) throw (css::uno::RuntimeException
);
179 virtual css::uno::Any SAL_CALL
getRowHeight() throw (css::uno::RuntimeException
);
180 virtual void SAL_CALL
setRowHeight( const css::uno::Any
& _rowheight
) throw (css::uno::RuntimeException
);
181 virtual css::uno::Any SAL_CALL
getWidth() throw (css::uno::RuntimeException
);
182 virtual css::uno::Any SAL_CALL
getHeight() throw (css::uno::RuntimeException
);
183 virtual css::uno::Any SAL_CALL
getTop() throw (css::uno::RuntimeException
);
184 virtual css::uno::Any SAL_CALL
getLeft() throw (css::uno::RuntimeException
);
186 virtual css::uno::Reference
< ov::excel::XName
> SAL_CALL
getName() throw (css::uno::RuntimeException
);
187 virtual css::uno::Reference
< ov::excel::XWorksheet
> SAL_CALL
getWorksheet() throw (css::uno::RuntimeException
);
188 virtual css::uno::Any SAL_CALL
getPageBreak() throw (css::uno::RuntimeException
);
189 virtual void SAL_CALL
setPageBreak( const css::uno::Any
& _pagebreak
) throw (css::uno::RuntimeException
);
190 virtual css::uno::Reference
< ov::excel::XValidation
> SAL_CALL
getValidation() throw (css::uno::RuntimeException
);
191 virtual css::uno::Any SAL_CALL
getPrefixCharacter() throw (css::uno::RuntimeException
);
192 virtual css::uno::Any SAL_CALL
getShowDetail() throw (css::uno::RuntimeException
);
193 virtual void SAL_CALL
setShowDetail(const css::uno::Any
& aShowDetail
) throw (css::uno::RuntimeException
);
195 sal_Bool
IsRows() const { return mbIsRows
; }
196 sal_Bool
IsColumns() const { return mbIsColumns
; }
197 virtual css::uno::Reference
< ov::excel::XComment
> SAL_CALL
AddComment( const css::uno::Any
& Text
) throw (css::uno::RuntimeException
);
198 virtual void SAL_CALL
Clear() throw (css::uno::RuntimeException
);
199 virtual void SAL_CALL
ClearComments() throw (css::uno::RuntimeException
);
200 virtual void SAL_CALL
ClearContents() throw (css::uno::RuntimeException
);
201 virtual void SAL_CALL
ClearFormats() throw (css::uno::RuntimeException
);
202 virtual css::uno::Any SAL_CALL
HasFormula() throw (css::uno::RuntimeException
);
203 virtual void SAL_CALL
FillLeft() throw (css::uno::RuntimeException
);
204 virtual void SAL_CALL
FillRight() throw (css::uno::RuntimeException
);
205 virtual void SAL_CALL
FillUp() throw (css::uno::RuntimeException
);
206 virtual void SAL_CALL
FillDown() throw (css::uno::RuntimeException
);
207 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Offset( const css::uno::Any
&nRowOffset
, const css::uno::Any
&nColOffset
)
208 throw (css::uno::RuntimeException
);
209 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
CurrentRegion() throw (css::uno::RuntimeException
);
210 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
CurrentArray() throw (css::uno::RuntimeException
);
211 virtual OUString SAL_CALL
Characters( const css::uno::Any
& nIndex
, const css::uno::Any
& nCount
)
212 throw (css::uno::RuntimeException
);
214 virtual 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
);
216 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Cells( const css::uno::Any
&nRow
, const css::uno::Any
&nCol
)
217 throw (css::uno::RuntimeException
);
218 virtual void SAL_CALL
Select() throw (css::uno::RuntimeException
);
219 virtual void SAL_CALL
Activate() throw (css::uno::RuntimeException
);
220 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Rows( const css::uno::Any
& nIndex
) throw (css::uno::RuntimeException
);
221 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Columns( const css::uno::Any
&nIndex
) throw (css::uno::RuntimeException
);
222 virtual void SAL_CALL
Copy( const css::uno::Any
& Destination
) throw (css::uno::RuntimeException
);
223 virtual void SAL_CALL
Cut( const css::uno::Any
& Destination
) throw (css::uno::RuntimeException
);
224 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Resize( const css::uno::Any
& RowSize
, const css::uno::Any
& ColumnSize
)
225 throw (css::uno::RuntimeException
);
226 virtual css::uno::Reference
< ov::excel::XFont
> SAL_CALL
Font() throw ( css::script::BasicErrorException
, css::uno::RuntimeException
);
227 virtual css::uno::Reference
< ov::excel::XInterior
> SAL_CALL
Interior( ) throw ( css::script::BasicErrorException
, css::uno::RuntimeException
) ;
228 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Range( const css::uno::Any
&Cell1
, const css::uno::Any
&Cell2
) throw (css::uno::RuntimeException
);
229 virtual css::uno::Reference
< ov::excel::XRange
> Range( const css::uno::Any
&Cell1
, const css::uno::Any
&Cell2
, bool bForceUseInpuRangeTab
) throw (css::uno::RuntimeException
);
230 virtual css::uno::Any SAL_CALL
getCellRange( ) throw (css::uno::RuntimeException
);
231 static css::uno::Any
getCellRange( const css::uno::Reference
< ov::excel::XRange
>& rxRange
) throw (css::uno::RuntimeException
);
232 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
);
233 virtual ::sal_Bool SAL_CALL
Replace( const OUString
& What
, const 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
);
234 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
);
235 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
);
236 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
End( ::sal_Int32 Direction
) throw (css::uno::RuntimeException
);
237 virtual css::uno::Reference
< ov::excel::XCharacters
> SAL_CALL
characters( const css::uno::Any
& Start
, const css::uno::Any
& Length
) throw (css::uno::RuntimeException
);
238 virtual void SAL_CALL
Delete( const css::uno::Any
& Shift
) throw (css::uno::RuntimeException
);
239 virtual css::uno::Any SAL_CALL
Areas( const css::uno::Any
& ) throw (css::uno::RuntimeException
);
240 virtual css::uno::Any SAL_CALL
Borders( const css::uno::Any
& ) throw ( css::script::BasicErrorException
, css::uno::RuntimeException
);
241 virtual css::uno::Any SAL_CALL
BorderAround( const css::uno::Any
& LineStyle
,
242 const css::uno::Any
& Weight
, const css::uno::Any
& ColorIndex
, const css::uno::Any
& Color
) throw (css::uno::RuntimeException
);
243 virtual css::uno::Any SAL_CALL
Hyperlinks( const css::uno::Any
& aIndex
) throw (css::uno::RuntimeException
);
245 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
);
246 virtual void SAL_CALL
Insert( const css::uno::Any
& Shift
, const css::uno::Any
& CopyOrigin
) throw (css::uno::RuntimeException
);
247 virtual void SAL_CALL
Autofit() throw (css::uno::RuntimeException
);
248 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
);
249 virtual void SAL_CALL
AutoFill( const css::uno::Reference
< ov::excel::XRange
>& Destination
, const css::uno::Any
& Type
) throw (css::uno::RuntimeException
) ;
250 void SAL_CALL
Calculate( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
251 virtual void SAL_CALL
AutoOutline( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
252 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
);
253 virtual void SAL_CALL
ClearOutline( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
254 virtual void SAL_CALL
Ungroup( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
255 virtual void SAL_CALL
Group( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
256 virtual void SAL_CALL
Merge( const css::uno::Any
& Across
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
257 virtual void SAL_CALL
UnMerge( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
258 virtual css::uno::Any SAL_CALL
getStyle() throw (css::uno::RuntimeException
);
259 virtual void SAL_CALL
setStyle( const css::uno::Any
& _style
) throw (css::uno::RuntimeException
);
260 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Next() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
261 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Previous() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
262 virtual void SAL_CALL
RemoveSubtotal( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
263 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
MergeArea() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
264 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
);
266 // XEnumerationAccess
267 virtual css::uno::Reference
< css::container::XEnumeration
> SAL_CALL
createEnumeration() throw (css::uno::RuntimeException
);
269 virtual css::uno::Type SAL_CALL
getElementType() throw (css::uno::RuntimeException
)
271 return ov::excel::XRange::static_type(0);
274 virtual sal_Bool SAL_CALL
hasElements() throw (css::uno::RuntimeException
);
276 OUString SAL_CALL
getDefaultMethodName( ) throw (css::uno::RuntimeException
);
278 OUString SAL_CALL
getDefaultPropertyName( ) throw (css::uno::RuntimeException
) { return OUString("Value"); }
281 // #TODO completely rewrite ScVbaRange, its become a hackfest
282 // it needs to be closer to ScCellRangeBase in that the underlying
283 // object model should probably be a ScRangelst.
284 // * would be nice to be able to construct a range from an address only
285 // * or a list of address ( multi-area )
286 // * object should be a lightweight as possible
287 // * we shouldn't need hacks like this below
288 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
);
289 static bool getCellRangesForAddress( sal_uInt16
& rResFlags
, const OUString
& sAddress
, ScDocShell
* pDocSh
, ScRangeList
& rCellRanges
, formula::FormulaGrammar::AddressConvention
& eConv
, char cDelimiter
= 0 );
290 virtual sal_Bool SAL_CALL
GoalSeek( const css::uno::Any
& Goal
, const css::uno::Reference
< ov::excel::XRange
>& ChangingCell
) throw (css::uno::RuntimeException
);
291 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
SpecialCells( const css::uno::Any
& _oType
, const css::uno::Any
& _oValue
) throw ( css::script::BasicErrorException
);
293 virtual ::sal_Bool SAL_CALL
hasError( ) throw (css::uno::RuntimeException
);
295 virtual OUString
getServiceImplName();
296 virtual css::uno::Sequence
<OUString
> getServiceNames();
298 #endif /* SC_VBA_RANGE_HXX */
300 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */