LibreOffice Module sc (master) 1
vbarange.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
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 .
18 */
19#pragma once
20
21#include <ooo/vba/excel/XRange.hpp>
22
23#include <com/sun/star/awt/Point.hpp>
24#include <com/sun/star/sheet/FillDateMode.hpp>
25#include <com/sun/star/sheet/FillMode.hpp>
26#include <com/sun/star/sheet/FillDirection.hpp>
27
28#include "vbaformat.hxx"
29#include <address.hxx>
30#include <formula/grammar.hxx>
31
32namespace com::sun::star::sheet { class XSheetCellRangeContainer; }
33namespace com::sun::star::table { class XCell; }
34namespace com::sun::star::table { class XCellRange; }
35namespace com::sun::star::table { struct CellRangeAddress; }
36namespace com::sun::star::lang { class XServiceInfo; }
37namespace ooo::vba { class XCollection; }
38namespace ooo::vba::excel { class XComment; }
39namespace ooo::vba::excel { class XFont; }
40
41class SfxItemSet;
43class ScCellRangeObj;
44class ScDocShell;
45class ScDocument;
46class ScRangeList;
47
49{
50public:
51 virtual void visitNode( sal_Int32 x, sal_Int32 y, const css::uno::Reference< css::table::XCell >& xCell ) = 0;
52 virtual ~ArrayVisitor(){}
53};
54
56{
57public:
58 virtual bool processValue( const css::uno::Any& aValue, const css::uno::Reference< css::table::XCell >& xCell ) = 0;
59
60};
61
63{
64
65public:
66 virtual void processValue( const css::uno::Any& aValue ) = 0;
67 virtual const css::uno::Any& getValue() const = 0;
68};
69
71
72enum class RangeValueType { value, value2 };
73
75{
76 css::uno::Reference< ov::XCollection > m_Areas;
77 css::uno::Reference< ov::XCollection > m_Borders;
78 css::uno::Reference< css::table::XCellRange > mxRange;
79 css::uno::Reference< css::sheet::XSheetCellRangeContainer > mxRanges;
82 css::uno::Reference< ov::excel::XValidation > m_xValidation;
84 double getCalcColWidth(const css::table::CellRangeAddress&);
86 double getCalcRowHeight(const css::table::CellRangeAddress&);
87 void visitArray( ArrayVisitor& visitor );
88
90 css::uno::Reference< ov::excel::XRange > getEntireColumnOrRow( bool bColumn );
91
93 void fillSeries( css::sheet::FillDirection nFillDirection, css::sheet::FillMode nFillMode, css::sheet::FillDateMode nFillDateMode, double fStep, double fEndValue );
94
96 void ClearContents( sal_Int32 nFlags, bool bFireEvent );
97
99 css::uno::Any getValue( ValueGetter& rValueGetter );
100 css::uno::Any DoGetValue( RangeValueType eValueType );
102 void setValue( const css::uno::Any& aValue, ValueSetter& setter );
103
107 void setFormulaValue( const css::uno::Any& aValue, formula::FormulaGrammar::Grammar );
108
110 css::uno::Reference< ov::excel::XRange > getArea( sal_Int32 nIndex );
113 css::uno::Reference< ov::XCollection >& getBorders();
115 void groupUnGroup( bool bUnGroup );
116 css::uno::Reference< ov::excel::XRange > PreviousNext( bool bIsPrevious );
118 css::uno::Reference< ov::excel::XRange > SpecialCellsImpl( sal_Int32 nType, const css::uno::Any& _oValue);
120 css::awt::Point getPosition() const;
121
123 void fireChangeEvent();
124
126 ScRange obtainRangeEvenIfRangeListIsEmpty( const ScRangeList& rCellRanges ) const;
127
128protected:
129 virtual ScCellRangesBase* getCellRangesBase() override;
132public:
134 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 );
137 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 );
140 ScVbaRange( css::uno::Sequence< css::uno::Any > const& aArgs, css::uno::Reference< css::uno::XComponentContext >const& xContext );
141
146
148 static ScVbaRange* getImplementation( const css::uno::Reference< ov::excel::XRange >& rxRange );
149
151 css::uno::Reference< css::frame::XModel > getUnoModel();
153 static css::uno::Reference< css::frame::XModel > getUnoModel( const css::uno::Reference< ov::excel::XRange >& rxRange );
154
158 static const ScRangeList& getScRangeList( const css::uno::Reference< ov::excel::XRange >& rxRange );
159
160 virtual ~ScVbaRange() override;
161 virtual css::uno::Reference< ov::XHelperInterface > thisHelperIface() override { return this; }
162 bool isSingleCellRange() const;
163
165 static css::uno::Reference< ov::excel::XRange > getRangeObjectForName(
166 const css::uno::Reference< css::uno::XComponentContext >& xContext,
167 const OUString& sRangeName, ScDocShell* pDocSh,
169
171 static css::uno::Reference< ov::excel::XRange > CellsHelper(
172 const ScDocument& rDoc,
173 const css::uno::Reference< ov::XHelperInterface >& xParent,
174 const css::uno::Reference< css::uno::XComponentContext >& xContext,
175 const css::uno::Reference< css::table::XCellRange >& xRange,
176 const css::uno::Any &nRowIndex, const css::uno::Any &nColumnIndex );
177
178 // Attributes
179 virtual css::uno::Any SAL_CALL getValue() override;
180 virtual css::uno::Any SAL_CALL getValue2() override;
181 virtual void SAL_CALL setValue( const css::uno::Any& aValue ) override;
182 virtual void SAL_CALL setValue2( const css::uno::Any& aValue2 ) override;
183 virtual css::uno::Any SAL_CALL getFormula() override;
184 virtual void SAL_CALL setFormula( const css::uno::Any& rFormula ) override;
185 virtual css::uno::Any SAL_CALL getFormulaArray() override;
186 virtual void SAL_CALL setFormulaArray(const css::uno::Any& rFormula) override;
187 virtual css::uno::Any SAL_CALL getFormulaR1C1() override;
188 virtual void SAL_CALL setFormulaR1C1( const css::uno::Any &rFormula ) override;
189 virtual css::uno::Any SAL_CALL getFormulaLocal() override;
190 virtual void SAL_CALL setFormulaLocal( const css::uno::Any &rFormula ) override;
191 virtual css::uno::Any SAL_CALL getFormulaR1C1Local() override;
192 virtual void SAL_CALL setFormulaR1C1Local( const css::uno::Any &rFormula ) override;
193 virtual ::sal_Int32 SAL_CALL getCount() override;
194 virtual ::sal_Int32 SAL_CALL getRow() override;
195 virtual ::sal_Int32 SAL_CALL getColumn() override;
196 virtual OUString SAL_CALL getText() override;
198 virtual void SAL_CALL setNumberFormat( const css::uno::Any& rNumberFormat ) override;
199 virtual css::uno::Any SAL_CALL getNumberFormat() override;
200 virtual void SAL_CALL setMergeCells( const css::uno::Any& bMerge ) override;
201 virtual css::uno::Any SAL_CALL getMergeCells() override;
202 virtual void SAL_CALL setWrapText( const css::uno::Any& bIsWrapped ) override;
203 virtual css::uno::Any SAL_CALL getWrapText() override;
204 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL getEntireRow() override;
205 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL getEntireColumn() override;
206 virtual css::uno::Reference< ov::excel::XComment > SAL_CALL getComment() override;
207 virtual css::uno::Any SAL_CALL getHidden() override;
208 virtual void SAL_CALL setHidden( const css::uno::Any& _hidden ) override;
209 virtual css::uno::Any SAL_CALL getColumnWidth() override;
210 virtual void SAL_CALL setColumnWidth( const css::uno::Any& _columnwidth ) override;
211 virtual css::uno::Any SAL_CALL getRowHeight() override;
212 virtual void SAL_CALL setRowHeight( const css::uno::Any& _rowheight ) override;
213 virtual css::uno::Any SAL_CALL getWidth() override;
214 virtual css::uno::Any SAL_CALL getHeight() override;
215 virtual css::uno::Any SAL_CALL getTop() override;
216 virtual css::uno::Any SAL_CALL getLeft() override;
217
218 virtual css::uno::Reference< ov::excel::XName > SAL_CALL getName() override;
219 virtual css::uno::Reference< ov::excel::XWorksheet > SAL_CALL getWorksheet() override;
220 virtual css::uno::Any SAL_CALL getPageBreak() override;
221 virtual void SAL_CALL setPageBreak( const css::uno::Any& _pagebreak ) override;
222 virtual css::uno::Reference< ov::excel::XValidation > SAL_CALL getValidation() override;
223 virtual css::uno::Any SAL_CALL getPrefixCharacter() override;
224 virtual css::uno::Any SAL_CALL getShowDetail() override;
225 virtual void SAL_CALL setShowDetail(const css::uno::Any& aShowDetail) override;
226 // Methods
227 virtual css::uno::Reference< ov::excel::XComment > SAL_CALL AddComment( const css::uno::Any& Text ) override;
228 virtual void SAL_CALL Clear() override;
229 virtual void SAL_CALL ClearComments() override;
230 virtual void SAL_CALL ClearContents() override;
231 virtual void SAL_CALL ClearFormats() override;
232 virtual css::uno::Any SAL_CALL HasFormula() override;
233 virtual void SAL_CALL FillLeft() override;
234 virtual void SAL_CALL FillRight() override;
235 virtual void SAL_CALL FillUp() override;
236 virtual void SAL_CALL FillDown() override;
237 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Offset( const css::uno::Any &nRowOffset, const css::uno::Any &nColOffset ) override;
238 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL CurrentRegion() override;
239 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL CurrentArray() override;
240 virtual OUString SAL_CALL Characters( const css::uno::Any& nIndex, const css::uno::Any& nCount ) override;
241
242 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 ) override;
243
244 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Cells( const css::uno::Any &nRow, const css::uno::Any &nCol ) override;
245 virtual void SAL_CALL Select() override;
246 virtual void SAL_CALL Activate() override;
247 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Rows( const css::uno::Any& nIndex ) override;
248 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Columns( const css::uno::Any &nIndex ) override;
249 virtual void SAL_CALL Copy( const css::uno::Any& Destination ) override;
250 virtual void SAL_CALL Cut( const css::uno::Any& Destination ) override;
251 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Resize( const css::uno::Any& RowSize, const css::uno::Any& ColumnSize ) override;
252 virtual css::uno::Reference< ov::excel::XFont > SAL_CALL Font() override;
253 virtual css::uno::Reference< ov::excel::XInterior > SAL_CALL Interior( ) override ;
254 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Range( const css::uno::Any &Cell1, const css::uno::Any &Cell2 ) override;
256 css::uno::Reference< ov::excel::XRange > Range( const css::uno::Any &Cell1, const css::uno::Any &Cell2, bool bForceUseInpuRangeTab );
257 virtual css::uno::Any SAL_CALL getCellRange( ) override;
259 static css::uno::Any getCellRange( const css::uno::Reference< ov::excel::XRange >& rxRange );
260 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 ) override;
261 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 ) override;
262 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 ) override;
263 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 ) override;
264 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL End( ::sal_Int32 Direction ) override;
265 virtual css::uno::Reference< ov::excel::XCharacters > SAL_CALL characters( const css::uno::Any& Start, const css::uno::Any& Length ) override;
266 virtual void SAL_CALL Delete( const css::uno::Any& Shift ) override;
267 virtual css::uno::Any SAL_CALL Areas( const css::uno::Any& ) override;
268 virtual css::uno::Any SAL_CALL Borders( const css::uno::Any& ) override;
269 virtual css::uno::Any SAL_CALL BorderAround( const css::uno::Any& LineStyle,
270 const css::uno::Any& Weight, const css::uno::Any& ColorIndex, const css::uno::Any& Color ) override;
271 virtual css::uno::Any SAL_CALL Hyperlinks( const css::uno::Any& aIndex ) override;
272
273 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 ) override;
274 virtual void SAL_CALL Insert( const css::uno::Any& Shift, const css::uno::Any& CopyOrigin ) override;
275 virtual void SAL_CALL Autofit() override;
276 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 ) override;
277 virtual void SAL_CALL AutoFill( const css::uno::Reference< ov::excel::XRange >& Destination, const css::uno::Any& Type ) override ;
278 void SAL_CALL Calculate( ) override;
279 virtual void SAL_CALL AutoOutline( ) override;
280 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Item( const css::uno::Any& row, const css::uno::Any& column ) override;
281 virtual void SAL_CALL ClearOutline( ) override;
282 virtual void SAL_CALL Ungroup( ) override;
283 virtual void SAL_CALL Group( ) override;
284 virtual void SAL_CALL Merge( const css::uno::Any& Across ) override;
285 virtual void SAL_CALL UnMerge( ) override;
286 virtual css::uno::Any SAL_CALL getStyle() override;
287 virtual void SAL_CALL setStyle( const css::uno::Any& _style ) override;
288 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Next() override;
289 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Previous() override;
290 virtual void SAL_CALL RemoveSubtotal( ) override;
291 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL MergeArea() override;
292 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 ) override;
293
294 // XEnumerationAccess
295 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override;
296 // XElementAccess
297 virtual css::uno::Type SAL_CALL getElementType() override
298 {
300
301 }
302 virtual sal_Bool SAL_CALL hasElements() override;
303 // XDefaultMethod
304 OUString SAL_CALL getDefaultMethodName( ) override;
305 // XDefaultProperty
306 OUString SAL_CALL getDefaultPropertyName( ) override { return "Value"; }
307
308// #TODO completely rewrite ScVbaRange, it's become a hackfest
309// it needs to be closer to ScCellRangeBase in that the underlying
310// object model should probably be a ScRangelst.
311// * would be nice to be able to construct a range from an address only
312// * or a list of address ( multi-area )
313// * object should be a lightweight as possible
314// * we shouldn't need hacks like this below
316 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 );
317 static bool getCellRangesForAddress(ScRefFlags &rResFlags, std::u16string_view sAddress, ScDocShell* pDocSh, ScRangeList& rCellRanges, formula::FormulaGrammar::AddressConvention eConv, char cDelimiter );
318 virtual sal_Bool SAL_CALL GoalSeek( const css::uno::Any& Goal, const css::uno::Reference< ov::excel::XRange >& ChangingCell ) override;
319 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL SpecialCells( const css::uno::Any& _oType, const css::uno::Any& _oValue) override;
320 // XErrorQuery
321 virtual sal_Bool SAL_CALL hasError( ) override;
322 // XHelperInterface
323 virtual OUString getServiceImplName() override;
324 virtual css::uno::Sequence<OUString> getServiceNames() override;
325};
326
328bool getScRangeListForAddress( const OUString& sName, ScDocShell* pDocSh, const ScRange& refRange,
329 ScRangeList& aCellRanges,
331
332/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
ScRefFlags
Definition: address.hxx:158
virtual void visitNode(sal_Int32 x, sal_Int32 y, const css::uno::Reference< css::table::XCell > &xCell)=0
virtual ~ArrayVisitor()
Definition: vbarange.hxx:52
virtual void SAL_CALL setNumberFormat(const css::uno::Any &NumberFormat)
Definition: vbaformat.cxx:443
virtual OUString SAL_CALL getText() override
Definition: vbarange.cxx:1905
virtual void SAL_CALL setFormulaR1C1Local(const css::uno::Any &rFormula) override
Definition: vbarange.cxx:1751
virtual void SAL_CALL Clear() override
Definition: vbarange.cxx:1618
virtual css::uno::Any SAL_CALL getColumnWidth() override
Definition: vbarange.cxx:3841
void groupUnGroup(bool bUnGroup)
Definition: vbarange.cxx:5300
virtual ScCellRangesBase * getCellRangesBase() override
Definition: vbarange.cxx:229
static ScVbaRange * getImplementation(const css::uno::Reference< ov::excel::XRange > &rxRange)
Returns the ScVbaRange implementation object for the passed VBA Range object.
Definition: vbarange.cxx:441
css::uno::Reference< ov::XCollection > m_Areas
Definition: vbarange.hxx:76
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
Definition: vbarange.cxx:3783
virtual void SAL_CALL Insert(const css::uno::Any &Shift, const css::uno::Any &CopyOrigin) override
Definition: vbarange.cxx:4750
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL CurrentArray() override
Definition: vbarange.cxx:1979
ScRange obtainRangeEvenIfRangeListIsEmpty(const ScRangeList &rCellRanges) const
Definition: vbarange.cxx:2404
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) override
Definition: vbarange.cxx:3194
virtual void SAL_CALL FillDown() override
Definition: vbarange.cxx:1898
virtual css::uno::Any SAL_CALL getFormulaArray() override
Definition: vbarange.cxx:1999
virtual void SAL_CALL setValue(const css::uno::Any &aValue) override
virtual void SAL_CALL Delete(const css::uno::Any &Shift) override
Definition: vbarange.cxx:3722
virtual void SAL_CALL setPageBreak(const css::uno::Any &_pagebreak) override
Definition: vbarange.cxx:4104
virtual void SAL_CALL ClearContents() override
Definition: vbarange.cxx:1660
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Resize(const css::uno::Any &RowSize, const css::uno::Any &ColumnSize) override
Definition: vbarange.cxx:2664
virtual void SAL_CALL Merge(const css::uno::Any &Across) override
Definition: vbarange.cxx:5334
virtual void SAL_CALL Autofit() override
Definition: vbarange.cxx:4802
virtual css::uno::Any SAL_CALL getMergeCells() override
Definition: vbarange.cxx:2531
virtual css::uno::Any SAL_CALL getNumberFormat() override
Definition: vbarange.cxx:2635
virtual css::uno::Any SAL_CALL getCellRange() override
Definition: vbarange.cxx:2844
const ScRangeList & getScRangeList()
Definition: vbarange.cxx:461
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Next() override
Definition: vbarange.cxx:5439
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)
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL SpecialCells(const css::uno::Any &_oType, const css::uno::Any &_oValue) override
Definition: vbarange.cxx:5461
virtual OUString getServiceImplName() override
Definition: vbarange.cxx:5723
virtual void SAL_CALL FillLeft() override
Definition: vbarange.cxx:1877
virtual ~ScVbaRange() override
Definition: vbarange.cxx:1473
css::uno::Reference< css::table::XCellRange > mxRange
Definition: vbarange.hxx:78
virtual void SAL_CALL ClearComments() override
Definition: vbarange.cxx:1654
virtual void SAL_CALL setStyle(const css::uno::Any &_style) override
Definition: vbarange.cxx:5394
virtual css::uno::Any SAL_CALL Hyperlinks(const css::uno::Any &aIndex) override
Definition: vbarange.cxx:4839
virtual void SAL_CALL RemoveSubtotal() override
Definition: vbarange.cxx:5644
virtual void SAL_CALL setHidden(const css::uno::Any &_hidden) override
Definition: vbarange.cxx:3065
virtual sal_Bool SAL_CALL hasElements() override
Definition: vbarange.cxx:3771
static css::uno::Reference< ov::excel::XRange > CellsHelper(const ScDocument &rDoc, const css::uno::Reference< ov::XHelperInterface > &xParent, const css::uno::Reference< css::uno::XComponentContext > &xContext, const css::uno::Reference< css::table::XCellRange > &xRange, const css::uno::Any &nRowIndex, const css::uno::Any &nColumnIndex)
Definition: vbarange.cxx:2215
virtual css::uno::Any SAL_CALL getRowHeight() override
Definition: vbarange.cxx:4003
css::uno::Reference< ov::excel::XRange > getEntireColumnOrRow(bool bColumn)
Definition: vbarange.cxx:2945
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Offset(const css::uno::Any &nRowOffset, const css::uno::Any &nColOffset) override
Definition: vbarange.cxx:1921
void setValue(const css::uno::Any &aValue, ValueSetter &setter)
virtual css::uno::Reference< ov::excel::XComment > SAL_CALL getComment() override
Definition: vbarange.cxx:3014
virtual void SAL_CALL setFormulaLocal(const css::uno::Any &rFormula) override
Definition: vbarange.cxx:1739
SfxItemSet * getCurrentDataSet()
Definition: vbarange.cxx:243
virtual void SAL_CALL AutoOutline() override
Definition: vbarange.cxx:5258
virtual void SAL_CALL setFormula(const css::uno::Any &rFormula) override
Definition: vbarange.cxx:1715
virtual css::uno::Reference< ov::excel::XInterior > SAL_CALL Interior() override
Definition: vbarange.cxx:2732
css::uno::Reference< ov::excel::XRange > PreviousNext(bool bIsPrevious)
Definition: vbarange.cxx:5410
virtual void SAL_CALL setFormulaArray(const css::uno::Any &rFormula) override
Definition: vbarange.cxx:2037
virtual css::uno::Any SAL_CALL HasFormula() override
Definition: vbarange.cxx:1813
ScCellRangeObj * getCellRangeObj()
Definition: vbarange.cxx:238
static css::uno::Any getCellRange(const css::uno::Reference< ov::excel::XRange > &rxRange)
ScDocShell * getScDocShell()
Definition: vbarange.cxx:430
virtual void SAL_CALL ClearFormats() override
Definition: vbarange.cxx:1668
static css::uno::Reference< ov::excel::XRange > getRangeObjectForName(const css::uno::Reference< css::uno::XComponentContext > &xContext, const OUString &sRangeName, ScDocShell *pDocSh, formula::FormulaGrammar::AddressConvention eConv)
Definition: vbarange.cxx:1374
void fillSeries(css::sheet::FillDirection nFillDirection, css::sheet::FillMode nFillMode, css::sheet::FillDateMode nFillDateMode, double fStep, double fEndValue)
Definition: vbarange.cxx:1855
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) override
Definition: vbarange.cxx:4473
css::uno::Reference< css::frame::XModel > getUnoModel()
Definition: vbarange.cxx:447
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) override
Definition: vbarange.cxx:2910
virtual css::uno::Any SAL_CALL getTop() override
Definition: vbarange.cxx:4178
virtual ::sal_Int32 SAL_CALL getColumn() override
Definition: vbarange.cxx:1797
virtual css::uno::Reference< ov::excel::XValidation > SAL_CALL getValidation() override
Definition: vbarange.cxx:4860
virtual sal_Bool SAL_CALL hasError() override
Definition: vbarange.cxx:5735
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) override
Definition: vbarange.cxx:5651
virtual css::uno::Any SAL_CALL getFormulaLocal() override
Definition: vbarange.cxx:1733
virtual void SAL_CALL Select() override
Definition: vbarange.cxx:2297
virtual css::uno::Any SAL_CALL getWidth() override
Definition: vbarange.cxx:3910
virtual css::uno::Any SAL_CALL getValue2() override
Definition: vbarange.cxx:1552
virtual css::uno::Reference< ov::excel::XCharacters > SAL_CALL characters(const css::uno::Any &Start, const css::uno::Any &Length) override
Definition: vbarange.cxx:3710
virtual OUString SAL_CALL Characters(const css::uno::Any &nIndex, const css::uno::Any &nCount) override
Definition: vbarange.cxx:2073
double getCalcRowHeight(const css::table::CellRangeAddress &)
Definition: vbarange.cxx:3818
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)
Definition: vbarange.cxx:4263
virtual void SAL_CALL setFormulaR1C1(const css::uno::Any &rFormula) override
Definition: vbarange.cxx:1727
virtual css::uno::Any SAL_CALL getStyle() override
Definition: vbarange.cxx:5378
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL End(::sal_Int32 Direction) override
Definition: vbarange.cxx:3619
virtual css::uno::Any SAL_CALL getHidden() override
Definition: vbarange.cxx:3039
css::uno::Reference< ov::excel::XRange > SpecialCellsImpl(sal_Int32 nType, const css::uno::Any &_oValue)
Definition: vbarange.cxx:5589
css::uno::Reference< ov::XCollection > m_Borders
Definition: vbarange.hxx:77
virtual void SAL_CALL Activate() override
Definition: vbarange.cxx:2345
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) override
Definition: vbarange.cxx:3428
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL CurrentRegion() override
Definition: vbarange.cxx:1958
virtual css::uno::Any SAL_CALL BorderAround(const css::uno::Any &LineStyle, const css::uno::Any &Weight, const css::uno::Any &ColorIndex, const css::uno::Any &Color) override
Definition: vbarange.cxx:3956
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)
virtual css::uno::Any SAL_CALL Areas(const css::uno::Any &) override
Definition: vbarange.cxx:3931
virtual css::uno::Reference< ov::excel::XWorksheet > SAL_CALL getWorksheet() override
Definition: vbarange.cxx:4238
css::uno::Reference< ov::XCollection > & getBorders()
Definition: vbarange.cxx:1477
virtual void SAL_CALL setNumberFormat(const css::uno::Any &rNumberFormat) override
Definition: vbarange.cxx:2616
css::uno::Reference< css::sheet::XSheetCellRangeContainer > mxRanges
Definition: vbarange.hxx:79
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Previous() override
Definition: vbarange.cxx:5450
OUString SAL_CALL getDefaultPropertyName() override
Definition: vbarange.hxx:306
static css::uno::Reference< css::frame::XModel > getUnoModel(const css::uno::Reference< ov::excel::XRange > &rxRange)
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Range(const css::uno::Any &Cell1, const css::uno::Any &Cell2) override
virtual void SAL_CALL setShowDetail(const css::uno::Any &aShowDetail) override
Definition: vbarange.cxx:4998
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Item(const css::uno::Any &row, const css::uno::Any &column) override
Definition: vbarange.cxx:5241
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Cells(const css::uno::Any &nRow, const css::uno::Any &nCol) override
Definition: vbarange.cxx:2196
virtual css::uno::Any SAL_CALL getLeft() override
Definition: vbarange.cxx:4168
void SAL_CALL Calculate() override
Definition: vbarange.cxx:5235
virtual css::uno::Any SAL_CALL getPageBreak() override
Definition: vbarange.cxx:4068
void visitArray(ArrayVisitor &visitor)
Definition: vbarange.cxx:1488
virtual void SAL_CALL FillUp() override
Definition: vbarange.cxx:1891
virtual void SAL_CALL setValue2(const css::uno::Any &aValue2) override
Definition: vbarange.cxx:1611
virtual css::uno::Reference< ov::excel::XComment > SAL_CALL AddComment(const css::uno::Any &Text) override
Definition: vbarange.cxx:2990
virtual css::uno::Sequence< OUString > getServiceNames() override
Definition: vbarange.cxx:5729
css::uno::Any getFormulaValue(formula::FormulaGrammar::Grammar)
Definition: vbarange.cxx:1692
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Rows(const css::uno::Any &nIndex) override
Definition: vbarange.cxx:2417
virtual css::uno::Any SAL_CALL getWrapText() override
Definition: vbarange.cxx:2704
virtual css::uno::Any SAL_CALL getHeight() override
Definition: vbarange.cxx:4135
virtual css::uno::Reference< ov::excel::XName > SAL_CALL getName() override
Definition: vbarange.cxx:4211
static bool getCellRangesForAddress(ScRefFlags &rResFlags, std::u16string_view sAddress, ScDocShell *pDocSh, ScRangeList &rCellRanges, formula::FormulaGrammar::AddressConvention eConv, char cDelimiter)
Definition: vbarange.cxx:1155
bool mbIsRows
Definition: vbarange.hxx:80
virtual sal_Bool SAL_CALL GoalSeek(const css::uno::Any &Goal, const css::uno::Reference< ov::excel::XRange > &ChangingCell) override
Definition: vbarange.cxx:5205
void setFormulaValue(const css::uno::Any &aValue, formula::FormulaGrammar::Grammar)
Definition: vbarange.cxx:1677
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL getEntireColumn() override
Definition: vbarange.cxx:2984
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) override
Definition: vbarange.cxx:2099
virtual void SAL_CALL Group() override
Definition: vbarange.cxx:5317
bool isSingleCellRange() const
Definition: vbarange.cxx:3698
virtual void SAL_CALL setWrapText(const css::uno::Any &bIsWrapped) override
Definition: vbarange.cxx:2685
virtual void SAL_CALL Copy(const css::uno::Any &Destination) override
Definition: vbarange.cxx:2560
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL getEntireRow() override
Definition: vbarange.cxx:2978
virtual void SAL_CALL Cut(const css::uno::Any &Destination) override
Definition: vbarange.cxx:2590
virtual void SAL_CALL setRowHeight(const css::uno::Any &_rowheight) override
Definition: vbarange.cxx:4042
OUString SAL_CALL getDefaultMethodName() override
Definition: vbarange.cxx:3801
virtual void SAL_CALL UnMerge() override
Definition: vbarange.cxx:5362
css::awt::Point getPosition() const
Definition: vbarange.cxx:4156
virtual css::uno::Any SAL_CALL getFormula() override
Definition: vbarange.cxx:1709
virtual void SAL_CALL setColumnWidth(const css::uno::Any &_columnwidth) override
Definition: vbarange.cxx:3878
virtual ::sal_Int32 SAL_CALL getRow() override
Definition: vbarange.cxx:1781
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) override
Definition: vbarange.cxx:5059
double getCalcColWidth(const css::table::CellRangeAddress &)
Definition: vbarange.cxx:3808
virtual css::uno::Any SAL_CALL getFormulaR1C1() override
Definition: vbarange.cxx:1721
virtual css::uno::Any SAL_CALL getShowDetail() override
Definition: vbarange.cxx:4961
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL MergeArea() override
Definition: vbarange.cxx:5033
virtual css::uno::Any SAL_CALL getPrefixCharacter() override
Definition: vbarange.cxx:4936
bool mbIsColumns
Definition: vbarange.hxx:81
virtual css::uno::Any SAL_CALL getValue() override
Definition: vbarange.cxx:1546
virtual void SAL_CALL AutoFill(const css::uno::Reference< ov::excel::XRange > &Destination, const css::uno::Any &Type) override
Definition: vbarange.cxx:5091
virtual css::uno::Type SAL_CALL getElementType() override
Definition: vbarange.hxx:297
static const ScRangeList & getScRangeList(const css::uno::Reference< ov::excel::XRange > &rxRange)
css::uno::Reference< ov::excel::XValidation > m_xValidation
Definition: vbarange.hxx:82
css::uno::Any DoGetValue(RangeValueType eValueType)
Definition: vbarange.cxx:1529
virtual void SAL_CALL ClearOutline() override
Definition: vbarange.cxx:5282
virtual css::uno::Reference< ov::XHelperInterface > thisHelperIface() override
Definition: vbarange.hxx:161
css::uno::Reference< ov::excel::XRange > Range(const css::uno::Any &Cell1, const css::uno::Any &Cell2, bool bForceUseInpuRangeTab)
virtual css::uno::Any SAL_CALL Borders(const css::uno::Any &) override
Definition: vbarange.cxx:3948
virtual void SAL_CALL FillRight() override
Definition: vbarange.cxx:1884
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) override
Definition: vbarange.cxx:3093
virtual void SAL_CALL setMergeCells(const css::uno::Any &bMerge) override
Definition: vbarange.cxx:2496
ScVbaRange(css::uno::Sequence< css::uno::Any > const &aArgs, css::uno::Reference< css::uno::XComponentContext >const &xContext)
void fireChangeEvent()
Fires a Worksheet_Change event for this range or range list.
Definition: vbarange.cxx:251
virtual void SAL_CALL Ungroup() override
Definition: vbarange.cxx:5322
css::uno::Reference< ov::excel::XRange > getArea(sal_Int32 nIndex)
Definition: vbarange.cxx:3939
ScDocument & getScDocument()
Definition: vbarange.cxx:418
virtual css::uno::Reference< ov::excel::XFont > SAL_CALL Font() override
Definition: vbarange.cxx:2174
virtual ::sal_Int32 SAL_CALL getCount() override
Definition: vbarange.cxx:1757
virtual css::uno::Any SAL_CALL getFormulaR1C1Local() override
Definition: vbarange.cxx:1745
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Columns(const css::uno::Any &nIndex) override
Definition: vbarange.cxx:2458
virtual const css::uno::Any & getValue() const =0
virtual void processValue(const css::uno::Any &aValue)=0
virtual bool processValue(const css::uno::Any &aValue, const css::uno::Reference< css::table::XCell > &xCell)=0
css::uno::Type const & get()
Any value
Type
Length
Destination
Orientation
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:398
const sal_Unicode cDelimiter
Definition: tpusrlst.cxx:45
unsigned char sal_Bool
ScVbaFormat< ov::excel::XRange > ScVbaRange_BASE
Definition: vbarange.hxx:70
RangeValueType
Definition: vbarange.hxx:72
bool getScRangeListForAddress(const OUString &sName, ScDocShell *pDocSh, const ScRange &refRange, ScRangeList &aCellRanges, formula::FormulaGrammar::AddressConvention aConv=formula::FormulaGrammar::CONV_XL_A1)
Definition: vbarange.cxx:1170
LineStyle