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 INCLUDED_SC_SOURCE_UI_VBA_VBARANGE_HXX
20 #define INCLUDED_SC_SOURCE_UI_VBA_VBARANGE_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
;
55 typedef ScVbaFormat
< ov::excel::XRange
> ScVbaRange_BASE
;
60 virtual void visitNode( sal_Int32 x
, sal_Int32 y
, const css::uno::Reference
< css::table::XCell
>& xCell
) = 0;
61 virtual ~ArrayVisitor(){}
64 class ValueSetter
: public ArrayVisitor
67 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;
79 class ScVbaRange
: public ScVbaRange_BASE
81 css::uno::Reference
< ov::XCollection
> m_Areas
;
82 css::uno::Reference
< ov::XCollection
> m_Borders
;
83 css::uno::Reference
< css::table::XCellRange
> mxRange
;
84 css::uno::Reference
< css::sheet::XSheetCellRangeContainer
> mxRanges
;
87 css::uno::Reference
< ov::excel::XValidation
> m_xValidation
;
88 double getCalcColWidth(const css::table::CellRangeAddress
&)
89 throw (css::uno::RuntimeException
, std::exception
);
90 double getCalcRowHeight(const css::table::CellRangeAddress
&)
91 throw (css::uno::RuntimeException
, std::exception
);
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
) SAL_OVERRIDE
;
119 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
, bool bIsRows
= false, 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
, bool bIsRows
= false, bool bIsColumns
= false ) throw ( css::lang::IllegalArgumentException
, css::uno::RuntimeException
);
123 ScVbaRange( css::uno::Sequence
< css::uno::Any
> const& aArgs
, css::uno::Reference
< css::uno::XComponentContext
>const& xContext
) throw ( css::lang::IllegalArgumentException
, css::uno::RuntimeException
);
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() SAL_OVERRIDE
{ 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
, std::exception
) SAL_OVERRIDE
;
154 virtual void SAL_CALL
setValue( const css::uno::Any
& aValue
) throw ( css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
155 virtual css::uno::Any SAL_CALL
getFormula() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
156 virtual void SAL_CALL
setFormula( const css::uno::Any
& rFormula
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
157 virtual css::uno::Any SAL_CALL
getFormulaArray() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
158 virtual void SAL_CALL
setFormulaArray(const css::uno::Any
& rFormula
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
159 virtual css::uno::Any SAL_CALL
getFormulaR1C1() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
160 virtual void SAL_CALL
setFormulaR1C1( const css::uno::Any
&rFormula
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
161 virtual ::sal_Int32 SAL_CALL
getCount() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
162 virtual ::sal_Int32 SAL_CALL
getRow() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
163 virtual ::sal_Int32 SAL_CALL
getColumn() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
164 virtual OUString SAL_CALL
getText() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
165 using ScVbaRange_BASE::setNumberFormat
;
166 virtual void SAL_CALL
setNumberFormat( const css::uno::Any
& rNumberFormat
) throw ( css::script::BasicErrorException
, css::uno::RuntimeException
) SAL_OVERRIDE
;
167 virtual css::uno::Any SAL_CALL
getNumberFormat() throw (css::script::BasicErrorException
, css::uno::RuntimeException
) SAL_OVERRIDE
;
168 virtual void SAL_CALL
setMergeCells( const css::uno::Any
& bMerge
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
) SAL_OVERRIDE
;
169 virtual css::uno::Any SAL_CALL
getMergeCells() throw (css::script::BasicErrorException
, css::uno::RuntimeException
) SAL_OVERRIDE
;
170 virtual void SAL_CALL
setWrapText( const css::uno::Any
& bIsWrapped
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
) SAL_OVERRIDE
;
171 virtual css::uno::Any SAL_CALL
getWrapText() throw (css::script::BasicErrorException
, css::uno::RuntimeException
) SAL_OVERRIDE
;
172 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
getEntireRow() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
173 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
getEntireColumn() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
174 virtual css::uno::Reference
< ov::excel::XComment
> SAL_CALL
getComment() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
175 virtual css::uno::Any SAL_CALL
getHidden() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
176 virtual void SAL_CALL
setHidden( const css::uno::Any
& _hidden
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
177 virtual css::uno::Any SAL_CALL
getColumnWidth() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
178 virtual void SAL_CALL
setColumnWidth( const css::uno::Any
& _columnwidth
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
179 virtual css::uno::Any SAL_CALL
getRowHeight()
180 throw(css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
181 virtual void SAL_CALL
setRowHeight( const css::uno::Any
& _rowheight
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
182 virtual css::uno::Any SAL_CALL
getWidth() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
183 virtual css::uno::Any SAL_CALL
getHeight()
184 throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
185 virtual css::uno::Any SAL_CALL
getTop() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
186 virtual css::uno::Any SAL_CALL
getLeft() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
188 virtual css::uno::Reference
< ov::excel::XName
> SAL_CALL
getName() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
189 virtual css::uno::Reference
< ov::excel::XWorksheet
> SAL_CALL
getWorksheet() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
190 virtual css::uno::Any SAL_CALL
getPageBreak() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
191 virtual void SAL_CALL
setPageBreak( const css::uno::Any
& _pagebreak
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
192 virtual css::uno::Reference
< ov::excel::XValidation
> SAL_CALL
getValidation() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
193 virtual css::uno::Any SAL_CALL
getPrefixCharacter() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
194 virtual css::uno::Any SAL_CALL
getShowDetail() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
195 virtual void SAL_CALL
setShowDetail(const css::uno::Any
& aShowDetail
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
197 bool IsRows() const { return mbIsRows
; }
198 bool IsColumns() const { return mbIsColumns
; }
199 virtual css::uno::Reference
< ov::excel::XComment
> SAL_CALL
AddComment( const css::uno::Any
& Text
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
200 virtual void SAL_CALL
Clear() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
201 virtual void SAL_CALL
ClearComments() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
202 virtual void SAL_CALL
ClearContents() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
203 virtual void SAL_CALL
ClearFormats() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
204 virtual css::uno::Any SAL_CALL
HasFormula() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
205 virtual void SAL_CALL
FillLeft() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
206 virtual void SAL_CALL
FillRight() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
207 virtual void SAL_CALL
FillUp() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
208 virtual void SAL_CALL
FillDown() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
209 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Offset( const css::uno::Any
&nRowOffset
, const css::uno::Any
&nColOffset
)
210 throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
211 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
CurrentRegion() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
212 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
CurrentArray() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
213 virtual OUString SAL_CALL
Characters( const css::uno::Any
& nIndex
, const css::uno::Any
& nCount
)
214 throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
216 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
, std::exception
) SAL_OVERRIDE
;
218 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Cells( const css::uno::Any
&nRow
, const css::uno::Any
&nCol
)
219 throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
220 virtual void SAL_CALL
Select() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
221 virtual void SAL_CALL
Activate() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
222 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Rows( const css::uno::Any
& nIndex
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
223 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Columns( const css::uno::Any
&nIndex
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
224 virtual void SAL_CALL
Copy( const css::uno::Any
& Destination
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
225 virtual void SAL_CALL
Cut( const css::uno::Any
& Destination
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
226 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Resize( const css::uno::Any
& RowSize
, const css::uno::Any
& ColumnSize
)
227 throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
228 virtual css::uno::Reference
< ov::excel::XFont
> SAL_CALL
Font() throw ( css::script::BasicErrorException
, css::uno::RuntimeException
) SAL_OVERRIDE
;
229 virtual css::uno::Reference
< ov::excel::XInterior
> SAL_CALL
Interior( ) throw ( css::script::BasicErrorException
, css::uno::RuntimeException
) SAL_OVERRIDE
;
230 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Range( const css::uno::Any
&Cell1
, const css::uno::Any
&Cell2
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
231 css::uno::Reference
< ov::excel::XRange
> Range( const css::uno::Any
&Cell1
, const css::uno::Any
&Cell2
, bool bForceUseInpuRangeTab
) throw (css::uno::RuntimeException
);
232 virtual css::uno::Any SAL_CALL
getCellRange( ) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
233 static css::uno::Any
getCellRange( const css::uno::Reference
< ov::excel::XRange
>& rxRange
) throw (css::uno::RuntimeException
);
234 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
, std::exception
) SAL_OVERRIDE
;
235 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
, std::exception
) SAL_OVERRIDE
;
236 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
, std::exception
) SAL_OVERRIDE
;
237 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
, std::exception
) SAL_OVERRIDE
;
238 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
End( ::sal_Int32 Direction
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
239 virtual css::uno::Reference
< ov::excel::XCharacters
> SAL_CALL
characters( const css::uno::Any
& Start
, const css::uno::Any
& Length
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
240 virtual void SAL_CALL
Delete( const css::uno::Any
& Shift
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
241 virtual css::uno::Any SAL_CALL
Areas( const css::uno::Any
& ) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
242 virtual css::uno::Any SAL_CALL
Borders( const css::uno::Any
& ) throw ( css::script::BasicErrorException
, css::uno::RuntimeException
) SAL_OVERRIDE
;
243 virtual css::uno::Any SAL_CALL
BorderAround( const css::uno::Any
& LineStyle
,
244 const css::uno::Any
& Weight
, const css::uno::Any
& ColorIndex
, const css::uno::Any
& Color
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
245 virtual css::uno::Any SAL_CALL
Hyperlinks( const css::uno::Any
& aIndex
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
247 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
)
248 throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
249 virtual void SAL_CALL
Insert( const css::uno::Any
& Shift
, const css::uno::Any
& CopyOrigin
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
250 virtual void SAL_CALL
Autofit() throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
251 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
, std::exception
) SAL_OVERRIDE
;
252 virtual void SAL_CALL
AutoFill( const css::uno::Reference
< ov::excel::XRange
>& Destination
, const css::uno::Any
& Type
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
253 void SAL_CALL
Calculate( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
254 virtual void SAL_CALL
AutoOutline( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
255 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
, std::exception
) SAL_OVERRIDE
;
256 virtual void SAL_CALL
ClearOutline( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
257 virtual void SAL_CALL
Ungroup( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
258 virtual void SAL_CALL
Group( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
259 virtual void SAL_CALL
Merge( const css::uno::Any
& Across
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
260 virtual void SAL_CALL
UnMerge( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
261 virtual css::uno::Any SAL_CALL
getStyle() throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
262 virtual void SAL_CALL
setStyle( const css::uno::Any
& _style
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
263 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Next() throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
264 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Previous() throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
265 virtual void SAL_CALL
RemoveSubtotal( ) throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
266 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
MergeArea() throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
267 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
, std::exception
) SAL_OVERRIDE
;
269 // XEnumerationAccess
270 virtual css::uno::Reference
< css::container::XEnumeration
> SAL_CALL
createEnumeration() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
272 virtual css::uno::Type SAL_CALL
getElementType() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
274 return cppu::UnoType
<ov::excel::XRange
>::get();
277 virtual sal_Bool SAL_CALL
hasElements() throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
279 OUString SAL_CALL
getDefaultMethodName( ) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
281 OUString SAL_CALL
getDefaultPropertyName( ) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
{ return OUString("Value"); }
283 // #TODO completely rewrite ScVbaRange, its become a hackfest
284 // it needs to be closer to ScCellRangeBase in that the underlying
285 // object model should probably be a ScRangelst.
286 // * would be nice to be able to construct a range from an address only
287 // * or a list of address ( multi-area )
288 // * object should be a lightweight as possible
289 // * we shouldn't need hacks like this below
290 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
);
291 static bool getCellRangesForAddress( sal_uInt16
& rResFlags
, const OUString
& sAddress
, ScDocShell
* pDocSh
, ScRangeList
& rCellRanges
, formula::FormulaGrammar::AddressConvention
& eConv
, char cDelimiter
= 0 );
292 virtual sal_Bool SAL_CALL
GoalSeek( const css::uno::Any
& Goal
, const css::uno::Reference
< ov::excel::XRange
>& ChangingCell
) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
293 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
SpecialCells( const css::uno::Any
& _oType
, const css::uno::Any
& _oValue
)
294 throw (css::script::BasicErrorException
, css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
296 virtual sal_Bool SAL_CALL
hasError( ) throw (css::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
298 virtual OUString
getServiceImplName() SAL_OVERRIDE
;
299 virtual css::uno::Sequence
<OUString
> getServiceNames() SAL_OVERRIDE
;
302 bool getScRangeListForAddress( const OUString
& sName
, ScDocShell
* pDocSh
, ScRange
& refRange
,
303 ScRangeList
& aCellRanges
,
304 formula::FormulaGrammar::AddressConvention aConv
= formula::FormulaGrammar::CONV_XL_A1
)
305 throw ( css::uno::RuntimeException
);
307 #endif // INCLUDED_SC_SOURCE_UI_VBA_VBARANGE_HXX
309 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */