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_APPLICATION_HXX
20 #define SC_VBA_APPLICATION_HXX
23 #include <ooo/vba/excel/XWorksheetFunction.hpp>
24 #include <ooo/vba/excel/XApplication.hpp>
25 #include <com/sun/star/uno/XComponentContext.hpp>
27 #include <vbahelper/vbahelperinterface.hxx>
28 #include <vbahelper/vbaapplicationbase.hxx>
29 #include <cppuhelper/implbase1.hxx>
31 typedef cppu::ImplInheritanceHelper1
< VbaApplicationBase
, ov::excel::XApplication
> ScVbaApplication_BASE
;
33 struct ScVbaAppSettings
;
35 class ScVbaApplication
: public ScVbaApplication_BASE
38 // note: member variables moved to struct "ScVbaAppSettings", see cxx file, to be shared by all application instances
39 ScVbaAppSettings
& mrAppSettings
;
41 OUString
getOfficePath( const OUString
& sPath
) throw ( css::uno::RuntimeException
);
44 virtual css::uno::Reference
< css::frame::XModel
> getCurrentDocument() throw (css::uno::RuntimeException
);
47 ScVbaApplication( const css::uno::Reference
< css::uno::XComponentContext
>& m_xContext
);
48 virtual ~ScVbaApplication();
50 /** Returns true, if VBA document events are enabled. */
51 static bool getDocumentEventsEnabled();
53 virtual SfxObjectShell
* GetDocShell( const css::uno::Reference
< css::frame::XModel
>& xModel
) throw (css::uno::RuntimeException
);
56 virtual OUString SAL_CALL
getExactName( const OUString
& aApproximateName
) throw (css::uno::RuntimeException
);
59 virtual css::uno::Reference
< css::beans::XIntrospectionAccess
> SAL_CALL
getIntrospection(void) throw(css::uno::RuntimeException
);
60 virtual css::uno::Any SAL_CALL
invoke(const OUString
& FunctionName
, const css::uno::Sequence
< css::uno::Any
>& Params
, css::uno::Sequence
< sal_Int16
>& OutParamIndex
, css::uno::Sequence
< css::uno::Any
>& OutParam
) throw(css::lang::IllegalArgumentException
, css::script::CannotConvertException
, css::reflection::InvocationTargetException
, css::uno::RuntimeException
);
61 virtual void SAL_CALL
setValue(const OUString
& PropertyName
, const css::uno::Any
& Value
) throw(css::beans::UnknownPropertyException
, css::script::CannotConvertException
, css::reflection::InvocationTargetException
, css::uno::RuntimeException
);
62 virtual css::uno::Any SAL_CALL
getValue(const OUString
& PropertyName
) throw(css::beans::UnknownPropertyException
, css::uno::RuntimeException
);
63 virtual sal_Bool SAL_CALL
hasMethod(const OUString
& Name
) throw(css::uno::RuntimeException
);
64 virtual sal_Bool SAL_CALL
hasProperty(const OUString
& Name
) throw(css::uno::RuntimeException
);
67 virtual void SAL_CALL
setDefaultFilePath( const OUString
& DefaultFilePath
) throw (css::uno::RuntimeException
);
68 virtual OUString SAL_CALL
getDefaultFilePath() throw (css::uno::RuntimeException
);
69 virtual OUString SAL_CALL
getPathSeparator() throw (css::uno::RuntimeException
);
70 virtual OUString SAL_CALL
getLibraryPath() throw (css::uno::RuntimeException
);
71 virtual OUString SAL_CALL
getTemplatesPath() throw (css::uno::RuntimeException
);
73 virtual OUString SAL_CALL
getName() throw (css::uno::RuntimeException
);
74 virtual sal_Bool SAL_CALL
getDisplayAlerts() throw (css::uno::RuntimeException
);
75 virtual void SAL_CALL
setDisplayAlerts( sal_Bool displayAlerts
) throw (css::uno::RuntimeException
);
76 virtual ::sal_Int32 SAL_CALL
getCalculation() throw (css::uno::RuntimeException
);
77 virtual void SAL_CALL
setCalculation( ::sal_Int32 _calculation
) throw (css::uno::RuntimeException
);
78 virtual css::uno::Any SAL_CALL
getSelection() throw (css::uno::RuntimeException
);
79 virtual css::uno::Reference
< ov::excel::XWorkbook
> SAL_CALL
getActiveWorkbook() throw (css::uno::RuntimeException
);
80 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
getActiveCell() throw ( css::uno::RuntimeException
);
81 virtual css::uno::Reference
< ov::excel::XWindow
> SAL_CALL
getActiveWindow() throw (css::uno::RuntimeException
);
82 virtual css::uno::Reference
< ov::excel::XWorksheet
> SAL_CALL
getActiveSheet() throw (css::uno::RuntimeException
);
83 virtual ::sal_Bool SAL_CALL
getDisplayFormulaBar() throw ( css::uno::RuntimeException
);
84 virtual void SAL_CALL
setDisplayFormulaBar( ::sal_Bool _displayformulabar
) throw ( css::uno::RuntimeException
);
86 virtual css::uno::Reference
< ov::XAssistant
> SAL_CALL
getAssistant() throw (css::uno::RuntimeException
);
87 virtual css::uno::Reference
< ov::excel::XWorkbook
> SAL_CALL
getThisWorkbook() throw (css::uno::RuntimeException
);
88 virtual css::uno::Any SAL_CALL
International( sal_Int32 Index
) throw (css::uno::RuntimeException
);
89 virtual css::uno::Any SAL_CALL
Workbooks( const css::uno::Any
& aIndex
) throw (css::uno::RuntimeException
);
90 virtual css::uno::Any SAL_CALL
Worksheets( const css::uno::Any
& aIndex
) throw (css::uno::RuntimeException
);
91 virtual css::uno::Any SAL_CALL
WorksheetFunction( ) throw (css::uno::RuntimeException
);
92 virtual css::uno::Any SAL_CALL
Evaluate( const OUString
& Name
) throw (css::uno::RuntimeException
);
93 virtual css::uno::Any SAL_CALL
Dialogs( const css::uno::Any
& DialogIndex
) throw (css::uno::RuntimeException
);
94 virtual css::uno::Any SAL_CALL
getCutCopyMode() throw (css::uno::RuntimeException
);
95 virtual void SAL_CALL
setCutCopyMode( const css::uno::Any
& _cutcopymode
) throw (css::uno::RuntimeException
);
96 virtual css::uno::Any SAL_CALL
getStatusBar() throw (css::uno::RuntimeException
);
97 virtual void SAL_CALL
setStatusBar( const css::uno::Any
& _statusbar
) throw (css::uno::RuntimeException
);
98 virtual ::sal_Int32 SAL_CALL
getCursor() throw (css::uno::RuntimeException
);
99 virtual void SAL_CALL
setCursor( ::sal_Int32 _cursor
) throw (css::uno::RuntimeException
);
100 virtual void SAL_CALL
OnKey( const OUString
& Key
, const css::uno::Any
& Procedure
) throw (css::uno::RuntimeException
);
101 virtual sal_Bool SAL_CALL
getEnableEvents() throw (css::uno::RuntimeException
);
102 virtual void SAL_CALL
setEnableEvents( sal_Bool bEnable
) throw (css::uno::RuntimeException
);
103 virtual sal_Bool SAL_CALL
getEnableCancelKey() throw (css::uno::RuntimeException
);
104 virtual void SAL_CALL
setEnableCancelKey( sal_Bool bEnable
) throw (css::uno::RuntimeException
);
106 virtual sal_Bool SAL_CALL
getDisplayFullScreen() throw (css::uno::RuntimeException
);
107 virtual void SAL_CALL
setDisplayFullScreen( sal_Bool bSet
) throw (css::uno::RuntimeException
);
108 virtual sal_Bool SAL_CALL
getDisplayScrollBars() throw (css::uno::RuntimeException
);
109 virtual void SAL_CALL
setDisplayScrollBars( sal_Bool bSet
) throw (css::uno::RuntimeException
);
110 virtual sal_Bool SAL_CALL
getDisplayExcel4Menus() throw (css::uno::RuntimeException
);
111 virtual void SAL_CALL
setDisplayExcel4Menus( sal_Bool bSet
) throw (css::uno::RuntimeException
);
113 virtual sal_Bool SAL_CALL
getDisplayNoteIndicator() throw (css::uno::RuntimeException
);
114 virtual void SAL_CALL
setDisplayNoteIndicator( sal_Bool bSet
) throw (css::uno::RuntimeException
);
115 virtual sal_Bool SAL_CALL
getShowWindowsInTaskbar() throw (css::uno::RuntimeException
);
116 virtual void SAL_CALL
setShowWindowsInTaskbar( sal_Bool bSet
) throw (css::uno::RuntimeException
);
117 virtual sal_Bool SAL_CALL
getIteration() throw (css::uno::RuntimeException
);
118 virtual void SAL_CALL
setIteration( sal_Bool bSet
) throw (css::uno::RuntimeException
);
120 virtual css::uno::Any SAL_CALL
Windows( const css::uno::Any
& aIndex
) throw (css::uno::RuntimeException
);
121 virtual void SAL_CALL
wait( double time
) throw (css::uno::RuntimeException
);
122 virtual css::uno::Any SAL_CALL
Range( const css::uno::Any
& Cell1
, const css::uno::Any
& Cell2
) throw (css::uno::RuntimeException
);
123 virtual css::uno::Any SAL_CALL
Names( const css::uno::Any
& aIndex
) throw ( css::uno::RuntimeException
);
124 virtual void SAL_CALL
GoTo( const css::uno::Any
& Reference
, const css::uno::Any
& Scroll
) throw (css::uno::RuntimeException
);
125 virtual void SAL_CALL
Calculate() throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
126 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Intersect( const css::uno::Reference
< ov::excel::XRange
>& Arg1
, const css::uno::Reference
< ov::excel::XRange
>& Arg2
, const css::uno::Any
& Arg3
, const css::uno::Any
& Arg4
, const css::uno::Any
& Arg5
, const css::uno::Any
& Arg6
, const css::uno::Any
& Arg7
, const css::uno::Any
& Arg8
, const css::uno::Any
& Arg9
, const css::uno::Any
& Arg10
, const css::uno::Any
& Arg11
, const css::uno::Any
& Arg12
, const css::uno::Any
& Arg13
, const css::uno::Any
& Arg14
, const css::uno::Any
& Arg15
, const css::uno::Any
& Arg16
, const css::uno::Any
& Arg17
, const css::uno::Any
& Arg18
, const css::uno::Any
& Arg19
, const css::uno::Any
& Arg20
, const css::uno::Any
& Arg21
, const css::uno::Any
& Arg22
, const css::uno::Any
& Arg23
, const css::uno::Any
& Arg24
, const css::uno::Any
& Arg25
, const css::uno::Any
& Arg26
, const css::uno::Any
& Arg27
, const css::uno::Any
& Arg28
, const css::uno::Any
& Arg29
, const css::uno::Any
& Arg30
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
127 virtual css::uno::Reference
< ov::excel::XRange
> SAL_CALL
Union( const css::uno::Reference
< ov::excel::XRange
>& Arg1
, const css::uno::Reference
< ov::excel::XRange
>& Arg2
, const css::uno::Any
& Arg3
, const css::uno::Any
& Arg4
, const css::uno::Any
& Arg5
, const css::uno::Any
& Arg6
, const css::uno::Any
& Arg7
, const css::uno::Any
& Arg8
, const css::uno::Any
& Arg9
, const css::uno::Any
& Arg10
, const css::uno::Any
& Arg11
, const css::uno::Any
& Arg12
, const css::uno::Any
& Arg13
, const css::uno::Any
& Arg14
, const css::uno::Any
& Arg15
, const css::uno::Any
& Arg16
, const css::uno::Any
& Arg17
, const css::uno::Any
& Arg18
, const css::uno::Any
& Arg19
, const css::uno::Any
& Arg20
, const css::uno::Any
& Arg21
, const css::uno::Any
& Arg22
, const css::uno::Any
& Arg23
, const css::uno::Any
& Arg24
, const css::uno::Any
& Arg25
, const css::uno::Any
& Arg26
, const css::uno::Any
& Arg27
, const css::uno::Any
& Arg28
, const css::uno::Any
& Arg29
, const css::uno::Any
& Arg30
) throw (css::script::BasicErrorException
, css::uno::RuntimeException
);
128 virtual double SAL_CALL
InchesToPoints( double InchesToPoints
) throw (css::uno::RuntimeException
);
129 virtual void SAL_CALL
Volatile( const css::uno::Any
& Volatile
) throw (css::uno::RuntimeException
);
130 virtual css::uno::Any SAL_CALL
MenuBars( const css::uno::Any
& aIndex
) throw (css::uno::RuntimeException
);
131 virtual css::uno::Any SAL_CALL
Caller( const css::uno::Any
& aIndex
) throw (css::uno::RuntimeException
);
132 virtual css::uno::Any SAL_CALL
GetOpenFilename( const css::uno::Any
& rFileFilter
, const css::uno::Any
& rFilterIndex
, const css::uno::Any
& rTitle
, const css::uno::Any
& rButtonText
, const css::uno::Any
& rMultiSelect
) throw (css::uno::RuntimeException
);
133 virtual css::uno::Any SAL_CALL
GetSaveAsFilename( const css::uno::Any
& rInitialFileName
, const css::uno::Any
& rFileFilter
, const css::uno::Any
& rFilterIndex
, const css::uno::Any
& rTitle
, const css::uno::Any
& rButtonText
) throw (css::uno::RuntimeException
);
134 virtual void SAL_CALL
Undo() throw (css::uno::RuntimeException
);
136 virtual OUString
getServiceImplName();
137 virtual css::uno::Sequence
<OUString
> getServiceNames();
139 #endif /* SC_VBA_APPLICATION_HXX */
141 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */