xref: /AOO41X/main/vbahelper/inc/vbahelper/vbahelper.hxx (revision d4a7ee096095edc0140da98aca6f220cb09e0281)
1*d4a7ee09SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*d4a7ee09SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*d4a7ee09SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*d4a7ee09SAndrew Rist  * distributed with this work for additional information
6*d4a7ee09SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*d4a7ee09SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*d4a7ee09SAndrew Rist  * "License"); you may not use this file except in compliance
9*d4a7ee09SAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11*d4a7ee09SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13*d4a7ee09SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*d4a7ee09SAndrew Rist  * software distributed under the License is distributed on an
15*d4a7ee09SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d4a7ee09SAndrew Rist  * KIND, either express or implied.  See the License for the
17*d4a7ee09SAndrew Rist  * specific language governing permissions and limitations
18*d4a7ee09SAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20*d4a7ee09SAndrew Rist  *************************************************************/
21*d4a7ee09SAndrew Rist 
22*d4a7ee09SAndrew Rist 
23cdf0e10cSrcweir #ifndef OOVBAAPI_VBA_HELPER_HXX
24cdf0e10cSrcweir #define OOVBAAPI_VBA_HELPER_HXX
25cdf0e10cSrcweir 
26cdf0e10cSrcweir #include <com/sun/star/drawing/XShape.hpp>
27cdf0e10cSrcweir #include <com/sun/star/beans/XIntrospectionAccess.hpp>
28cdf0e10cSrcweir #include <com/sun/star/beans/XPropertySet.hpp>
29cdf0e10cSrcweir #include <com/sun/star/script/BasicErrorException.hpp>
30cdf0e10cSrcweir #include <com/sun/star/script/XTypeConverter.hpp>
31cdf0e10cSrcweir #include <com/sun/star/lang/IllegalArgumentException.hpp>
32cdf0e10cSrcweir #include <com/sun/star/awt/XControl.hpp>
33cdf0e10cSrcweir #include <com/sun/star/awt/XDevice.hpp>
34cdf0e10cSrcweir #include <com/sun/star/awt/XUnitConversion.hpp>
35cdf0e10cSrcweir #include <basic/basmgr.hxx>
36cdf0e10cSrcweir #include <basic/sberrors.hxx>
37cdf0e10cSrcweir #include <cppuhelper/implbase1.hxx>
38cdf0e10cSrcweir #include <com/sun/star/frame/XModel.hpp>
39cdf0e10cSrcweir #include <sfx2/dispatch.hxx>
40cdf0e10cSrcweir #include <sfx2/objsh.hxx>
41cdf0e10cSrcweir #include <sfx2/docfilt.hxx>
42cdf0e10cSrcweir #include <sfx2/docfile.hxx>
43cdf0e10cSrcweir #include <vcl/pointr.hxx>
44cdf0e10cSrcweir #include <memory>
45cdf0e10cSrcweir #include "vbaaccesshelper.hxx"
46cdf0e10cSrcweir 
47cdf0e10cSrcweir namespace css = ::com::sun::star;
48cdf0e10cSrcweir namespace ooo
49cdf0e10cSrcweir {
50cdf0e10cSrcweir 	namespace vba
51cdf0e10cSrcweir 	{
52cdf0e10cSrcweir 		template < class T >
getXSomethingFromArgs(css::uno::Sequence<css::uno::Any> const & args,sal_Int32 nPos,bool bCanBeNull=true)53cdf0e10cSrcweir 		css::uno::Reference< T > getXSomethingFromArgs( css::uno::Sequence< css::uno::Any > const & args, sal_Int32 nPos, bool bCanBeNull = true ) throw (css::lang::IllegalArgumentException)
54cdf0e10cSrcweir 		{
55cdf0e10cSrcweir 			if ( args.getLength() < ( nPos + 1) )
56cdf0e10cSrcweir 				throw css::lang::IllegalArgumentException();
57cdf0e10cSrcweir 			css::uno::Reference< T > aSomething( args[ nPos ], css::uno::UNO_QUERY );
58cdf0e10cSrcweir 			if ( !bCanBeNull && !aSomething.is() )
59cdf0e10cSrcweir 				throw css::lang::IllegalArgumentException();
60cdf0e10cSrcweir 			return aSomething;
61cdf0e10cSrcweir 		}
62cdf0e10cSrcweir 
63cdf0e10cSrcweir         class XHelperInterface;
64cdf0e10cSrcweir 
65cdf0e10cSrcweir         /** Returns the VBA document implementation object representing the passed UNO document model. */
66cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC css::uno::Reference< XHelperInterface > getVBADocument( const css::uno::Reference< css::frame::XModel >& xModel );
67cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC css::uno::Reference< XHelperInterface > getUnoDocModule( const String& aModName, SfxObjectShell* pShell );
68cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC SfxObjectShell* getSfxObjShell( const css::uno::Reference< css::frame::XModel >& xModel ) throw ( css::uno::RuntimeException);
69cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC css::uno::Reference< css::uno::XInterface > createVBAUnoAPIService( SfxObjectShell* pShell,  const sal_Char* _pAsciiName ) throw (css::uno::RuntimeException);
70cdf0e10cSrcweir 
71cdf0e10cSrcweir         css::uno::Reference< css::frame::XModel > getCurrentDoc( const rtl::OUString& sKey ) throw (css::uno::RuntimeException);
72cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC css::uno::Reference< css::frame::XModel > getThisExcelDoc( const css::uno::Reference< css::uno::XComponentContext >& xContext ) throw (css::uno::RuntimeException);
73cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC css::uno::Reference< css::frame::XModel > getThisWordDoc( const css::uno::Reference< css::uno::XComponentContext >& xContext ) throw (css::uno::RuntimeException);
74cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC css::uno::Reference< css::frame::XModel > getCurrentExcelDoc( const css::uno::Reference< css::uno::XComponentContext >& xContext ) throw (css::uno::RuntimeException);
75cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC css::uno::Reference< css::frame::XModel > getCurrentWordDoc( const css::uno::Reference< css::uno::XComponentContext >& xContext ) throw (css::uno::RuntimeException);
76cdf0e10cSrcweir 
77cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC css::uno::Reference< css::beans::XIntrospectionAccess > getIntrospectionAccess( const css::uno::Any& aObject ) throw (css::uno::RuntimeException);
78cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC css::uno::Reference< css::script::XTypeConverter > getTypeConverter( const css::uno::Reference< css::uno::XComponentContext >& xContext ) throw (css::uno::RuntimeException);
79cdf0e10cSrcweir 
80cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC void dispatchRequests( const css::uno::Reference< css::frame::XModel>& xModel, const rtl::OUString& aUrl );
81cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC void dispatchRequests( const css::uno::Reference< css::frame::XModel>& xModel, const rtl::OUString& aUrl, const css::uno::Sequence< css::beans::PropertyValue >& sProps );
82cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC void dispatchExecute(SfxViewShell* pView, sal_uInt16 nSlot, SfxCallMode nCall = SFX_CALLMODE_SYNCHRON );
83cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC sal_Int32 OORGBToXLRGB( sal_Int32 );
84cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC sal_Int32 XLRGBToOORGB( sal_Int32 );
85cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC css::uno::Any OORGBToXLRGB( const css::uno::Any& );
86cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC css::uno::Any XLRGBToOORGB( const css::uno::Any& );
87cdf0e10cSrcweir 		// provide a NULL object that can be passed as variant so that
88cdf0e10cSrcweir 		// the object when passed to IsNull will return true. aNULL
89cdf0e10cSrcweir 		// contains an empty object reference
90cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC const css::uno::Any& aNULL();
91cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC void PrintOutHelper( SfxViewShell* pViewShell, 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, sal_Bool bSelection  );
92cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC void PrintPreviewHelper( const css::uno::Any& EnableChanges,  SfxViewShell* );
93cdf0e10cSrcweir 
94cdf0e10cSrcweir         /** Extracts a 32-bit integer value from the passed Any, which may contain an integer or floating-point value.
95cdf0e10cSrcweir             Throws, if the Any is empty or contains an incompatible type. */
96cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC sal_Int32 extractIntFromAny( const css::uno::Any& rAny ) throw (css::uno::RuntimeException);
97cdf0e10cSrcweir         /** Extracts a 32-bit integer value from the passed Any, which may contain an integer or floating-point value.
98cdf0e10cSrcweir             Returns nDefault, if rAny is empty. Throws, if the Any contains an incompatible type. */
99cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC sal_Int32 extractIntFromAny( const css::uno::Any& rAny, sal_Int32 nDefault ) throw (css::uno::RuntimeException);
100cdf0e10cSrcweir 
101cdf0e10cSrcweir         /** Extracts a boolean value from the passed Any, which may contain a Boolean or an integer or floating-point value.
102cdf0e10cSrcweir             Throws, if the Any is empty or contains an incompatible type. */
103cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC bool extractBoolFromAny( const css::uno::Any& rAny ) throw (css::uno::RuntimeException);
104cdf0e10cSrcweir         /** Extracts a boolean value from the passed Any, which may contain a Boolean or an integer or floating-point value.
105cdf0e10cSrcweir             Returns bDefault, if rAny is empty. Throws, if the Any contains an incompatible type. */
106cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC bool extractBoolFromAny( const css::uno::Any& rAny, bool bDefault ) throw (css::uno::RuntimeException);
107cdf0e10cSrcweir 
108cdf0e10cSrcweir         /** Extracts a string from the passed Any, which may contain a Boolean, a value, or a string.
109cdf0e10cSrcweir             Throws, if the Any is empty or contains an incompatible type. */
110cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC ::rtl::OUString extractStringFromAny( const css::uno::Any& rAny, bool bUppercaseBool = false ) throw (css::uno::RuntimeException);
111cdf0e10cSrcweir         /** Extracts a string from the passed Any, which may contain a Boolean, a value, or a string.
112cdf0e10cSrcweir             Returns rDefault, if rAny is empty. Throws, if the Any contains an incompatible type. */
113cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC ::rtl::OUString extractStringFromAny( const css::uno::Any& rAny, const ::rtl::OUString& rDefault, bool bUppercaseBool = false ) throw (css::uno::RuntimeException);
114cdf0e10cSrcweir 
115cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC rtl::OUString getAnyAsString( const css::uno::Any& pvargItem ) throw ( css::uno::RuntimeException );
116cdf0e10cSrcweir 		VBAHELPER_DLLPUBLIC rtl::OUString VBAToRegexp(const rtl::OUString &rIn, bool bForLike = false); // needs to be in an uno service ( already this code is duplicated in basic )
117cdf0e10cSrcweir 	    VBAHELPER_DLLPUBLIC double getPixelTo100thMillimeterConversionFactor( const css::uno::Reference< css::awt::XDevice >& xDevice, sal_Bool bVertical);
118cdf0e10cSrcweir     	VBAHELPER_DLLPUBLIC double PointsToPixels( const css::uno::Reference< css::awt::XDevice >& xDevice, double fPoints, sal_Bool bVertical);
119cdf0e10cSrcweir 	    VBAHELPER_DLLPUBLIC double PixelsToPoints( const css::uno::Reference< css::awt::XDevice >& xDevice, double fPixels, sal_Bool bVertical);
120cdf0e10cSrcweir     	VBAHELPER_DLLPUBLIC sal_Int32 PointsToHmm( double fPoints );
121cdf0e10cSrcweir 	    VBAHELPER_DLLPUBLIC double HmmToPoints( sal_Int32 nHmm );
122cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC sal_Int32 getPointerStyle( const css::uno::Reference< css::frame::XModel >& );
123cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC void setCursorHelper( const css::uno::Reference< css::frame::XModel >& xModel, const Pointer& rPointer, sal_Bool bOverWrite );
124cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC void setDefaultPropByIntrospection( const css::uno::Any& aObj, const css::uno::Any& aValue  ) throw ( css::uno::RuntimeException );
125cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC css::uno::Any getPropertyValue( const css::uno::Sequence< css::beans::PropertyValue >& aProp, const rtl::OUString& aName );
126cdf0e10cSrcweir         VBAHELPER_DLLPUBLIC sal_Bool setPropertyValue( css::uno::Sequence< css::beans::PropertyValue >& aProp, const rtl::OUString& aName, const css::uno::Any& aValue );
127cdf0e10cSrcweir 
128cdf0e10cSrcweir class VBAHELPER_DLLPUBLIC Millimeter
129cdf0e10cSrcweir {
130cdf0e10cSrcweir //Factor to translate between points and hundredths of millimeters:
131cdf0e10cSrcweir private:
132cdf0e10cSrcweir 	double m_nMillimeter;
133cdf0e10cSrcweir 
134cdf0e10cSrcweir public:
135cdf0e10cSrcweir 	Millimeter();
136cdf0e10cSrcweir 
137cdf0e10cSrcweir 	Millimeter(double mm);
138cdf0e10cSrcweir 
139cdf0e10cSrcweir 	void set(double mm);
140cdf0e10cSrcweir 	void setInPoints(double points) ;
141cdf0e10cSrcweir 	void setInHundredthsOfOneMillimeter(double hmm);
142cdf0e10cSrcweir 	double get();
143cdf0e10cSrcweir 	double getInHundredthsOfOneMillimeter();
144cdf0e10cSrcweir 	double getInPoints();
145cdf0e10cSrcweir 	static sal_Int32 getInHundredthsOfOneMillimeter(double points);
146cdf0e10cSrcweir 	static double getInPoints(int _hmm);
147cdf0e10cSrcweir };
148cdf0e10cSrcweir 
149cdf0e10cSrcweir class VBAHELPER_DLLPUBLIC AbstractGeometryAttributes // probably should replace the ShapeHelper below
150cdf0e10cSrcweir {
151cdf0e10cSrcweir public:
~AbstractGeometryAttributes()152cdf0e10cSrcweir     virtual ~AbstractGeometryAttributes() {}
153cdf0e10cSrcweir     virtual double getLeft() const = 0;
154cdf0e10cSrcweir     virtual void setLeft( double ) = 0;
155cdf0e10cSrcweir     virtual double getTop() const = 0;
156cdf0e10cSrcweir     virtual void setTop( double ) = 0;
157cdf0e10cSrcweir     virtual double getHeight() const = 0;
158cdf0e10cSrcweir     virtual void setHeight( double ) = 0;
159cdf0e10cSrcweir     virtual double getWidth() const = 0;
160cdf0e10cSrcweir     virtual void setWidth( double ) = 0;
161cdf0e10cSrcweir 
getInnerHeight() const162cdf0e10cSrcweir     virtual double getInnerHeight() const { return 0.0; }
setInnerHeight(double)163cdf0e10cSrcweir     virtual void setInnerHeight( double ) {}
getInnerWidth() const164cdf0e10cSrcweir     virtual double getInnerWidth() const { return 0.0; }
setInnerWidth(double)165cdf0e10cSrcweir     virtual void setInnerWidth( double ) {}
getOffsetX() const166cdf0e10cSrcweir     virtual double getOffsetX() const { return 0.0; }
getOffsetY() const167cdf0e10cSrcweir     virtual double getOffsetY() const { return 0.0; }
168cdf0e10cSrcweir };
169cdf0e10cSrcweir 
170cdf0e10cSrcweir namespace msforms {
171cdf0e10cSrcweir     class XShape;
172cdf0e10cSrcweir }
173cdf0e10cSrcweir 
174cdf0e10cSrcweir class VBAHELPER_DLLPUBLIC ShapeHelper
175cdf0e10cSrcweir {
176cdf0e10cSrcweir protected:
177cdf0e10cSrcweir 	css::uno::Reference< css::drawing::XShape > xShape;
178cdf0e10cSrcweir public:
179cdf0e10cSrcweir 	ShapeHelper( const css::uno::Reference< css::drawing::XShape >& _xShape) throw (css::script::BasicErrorException );
180cdf0e10cSrcweir 
181cdf0e10cSrcweir 	double getHeight() const;
182cdf0e10cSrcweir    	void setHeight(double _fheight) throw ( css::script::BasicErrorException );
183cdf0e10cSrcweir 	double getWidth() const;
184cdf0e10cSrcweir 	void setWidth(double _fWidth) throw ( css::script::BasicErrorException );
185cdf0e10cSrcweir 	double getLeft() const;
186cdf0e10cSrcweir 	void setLeft(double _fLeft);
187cdf0e10cSrcweir 	double getTop() const;
188cdf0e10cSrcweir 	void setTop(double _fTop);
189cdf0e10cSrcweir };
190cdf0e10cSrcweir 
191cdf0e10cSrcweir class VBAHELPER_DLLPUBLIC ConcreteXShapeGeometryAttributes : public AbstractGeometryAttributes
192cdf0e10cSrcweir {
193cdf0e10cSrcweir     std::auto_ptr< ShapeHelper > m_pShapeHelper;
194cdf0e10cSrcweir public:
195cdf0e10cSrcweir     ConcreteXShapeGeometryAttributes( const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::drawing::XShape >& xShape );
196cdf0e10cSrcweir     virtual double getLeft() const;
197cdf0e10cSrcweir     virtual void setLeft( double nLeft );
198cdf0e10cSrcweir     virtual double getTop() const;
199cdf0e10cSrcweir     virtual void setTop( double nTop );
200cdf0e10cSrcweir     virtual double getHeight() const;
201cdf0e10cSrcweir     virtual void setHeight( double nHeight );
202cdf0e10cSrcweir     virtual double getWidth() const;
203cdf0e10cSrcweir     virtual void setWidth( double nWidth);
204cdf0e10cSrcweir     virtual ~ConcreteXShapeGeometryAttributes();
205cdf0e10cSrcweir };
206cdf0e10cSrcweir 
207cdf0e10cSrcweir #define VBA_LEFT "PositionX"
208cdf0e10cSrcweir #define VBA_TOP "PositionY"
209cdf0e10cSrcweir #define VBA_HEIGHT "Height"
210cdf0e10cSrcweir #define VBA_WIDTH "Width"
211cdf0e10cSrcweir class VBAHELPER_DLLPUBLIC UserFormGeometryHelper : public AbstractGeometryAttributes
212cdf0e10cSrcweir {
213cdf0e10cSrcweir public:
214cdf0e10cSrcweir     UserFormGeometryHelper(
215cdf0e10cSrcweir         const css::uno::Reference< css::uno::XComponentContext >& xContext,
216cdf0e10cSrcweir         const css::uno::Reference< css::awt::XControl >& xControl,
217cdf0e10cSrcweir         double fOffsetX, double fOffsetY );
218cdf0e10cSrcweir     virtual double getLeft() const;
219cdf0e10cSrcweir     virtual void setLeft( double fLeft );
220cdf0e10cSrcweir     virtual double getTop() const;
221cdf0e10cSrcweir     virtual void setTop( double fTop );
222cdf0e10cSrcweir     virtual double getWidth() const;
223cdf0e10cSrcweir     virtual void setWidth( double fWidth );
224cdf0e10cSrcweir     virtual double getHeight() const;
225cdf0e10cSrcweir     virtual void setHeight( double fHeight );
226cdf0e10cSrcweir     virtual double getInnerWidth() const;
227cdf0e10cSrcweir     virtual void setInnerWidth( double fWidth );
228cdf0e10cSrcweir     virtual double getInnerHeight() const;
229cdf0e10cSrcweir     virtual void setInnerHeight( double fHeight );
230cdf0e10cSrcweir     virtual double getOffsetX() const;
231cdf0e10cSrcweir     virtual double getOffsetY() const;
232cdf0e10cSrcweir 
233cdf0e10cSrcweir private:
234cdf0e10cSrcweir     double implGetPos( bool bPosY ) const;
235cdf0e10cSrcweir     void implSetPos( double fPos, bool bPosY );
236cdf0e10cSrcweir     double implGetSize( bool bHeight, bool bOuter ) const;
237cdf0e10cSrcweir     void implSetSize( double fSize, bool bHeight, bool bOuter );
238cdf0e10cSrcweir 
239cdf0e10cSrcweir private:
240cdf0e10cSrcweir     css::uno::Reference< css::awt::XWindow > mxWindow;
241cdf0e10cSrcweir     css::uno::Reference< css::beans::XPropertySet > mxModelProps;
242cdf0e10cSrcweir     css::uno::Reference< css::awt::XUnitConversion > mxUnitConv;
243cdf0e10cSrcweir     double mfOffsetX;
244cdf0e10cSrcweir     double mfOffsetY;
245cdf0e10cSrcweir     sal_Bool mbDialog;
246cdf0e10cSrcweir };
247cdf0e10cSrcweir 
248cdf0e10cSrcweir class VBAHELPER_DLLPUBLIC ContainerUtilities
249cdf0e10cSrcweir {
250cdf0e10cSrcweir 
251cdf0e10cSrcweir public:
252cdf0e10cSrcweir 	static rtl::OUString getUniqueName( const css::uno::Sequence< ::rtl::OUString >&  _slist, const rtl::OUString& _sElementName, const ::rtl::OUString& _sSuffixSeparator);
253cdf0e10cSrcweir 	static rtl::OUString getUniqueName( const css::uno::Sequence< rtl::OUString >& _slist, const rtl::OUString _sElementName, const rtl::OUString& _sSuffixSeparator, sal_Int32 _nStartSuffix );
254cdf0e10cSrcweir 
255cdf0e10cSrcweir 	static sal_Int32 FieldInList( const css::uno::Sequence< rtl::OUString >& SearchList, const rtl::OUString& SearchString );
256cdf0e10cSrcweir };
257cdf0e10cSrcweir 
258cdf0e10cSrcweir // really just a a place holder to ease the porting pain
259cdf0e10cSrcweir class VBAHELPER_DLLPUBLIC DebugHelper
260cdf0e10cSrcweir {
261cdf0e10cSrcweir public:
262cdf0e10cSrcweir 	static void exception( const rtl::OUString&  DetailedMessage, const css::uno::Exception& ex,  int err, const rtl::OUString& /*additionalArgument*/ ) throw( css::script::BasicErrorException );
263cdf0e10cSrcweir 
264cdf0e10cSrcweir 	static void exception( int err,  const rtl::OUString& additionalArgument ) throw( css::script::BasicErrorException );
265cdf0e10cSrcweir 
266cdf0e10cSrcweir 	static void exception( css::uno::Exception& ex ) throw( css::script::BasicErrorException );
267cdf0e10cSrcweir };
268cdf0e10cSrcweir 	} // vba
269cdf0e10cSrcweir } // ooo
270cdf0e10cSrcweir 
271cdf0e10cSrcweir namespace ov = ooo::vba;
272cdf0e10cSrcweir 
273cdf0e10cSrcweir #ifdef DEBUG
274cdf0e10cSrcweir #  define SC_VBA_FIXME(a) OSL_TRACE( a )
275cdf0e10cSrcweir #  define SC_VBA_STUB() SC_VBA_FIXME(( "%s - stubbed\n", __FUNCTION__ ))
276cdf0e10cSrcweir #else
277cdf0e10cSrcweir #  define SC_VBA_FIXME(a)
278cdf0e10cSrcweir #  define SC_VBA_STUB()
279cdf0e10cSrcweir #endif
280cdf0e10cSrcweir 
281cdf0e10cSrcweir #endif
282