1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 #ifndef SC_VBA_GLOBALS 24 #define SC_VBA_GLOBALS 25 26 #include <com/sun/star/lang/XServiceInfo.hpp> 27 #include <com/sun/star/lang/XInitialization.hpp> 28 #include <com/sun/star/uno/XComponentContext.hpp> 29 #include <ooo/vba/excel/XGlobals.hpp> 30 #include <ooo/vba/excel/XApplication.hpp> 31 32 #include <cppuhelper/implbase1.hxx> 33 #include "excelvbahelper.hxx" 34 35 #include <vbahelper/vbaglobalbase.hxx> 36 // ============================================================================= 37 // class ScVbaGlobals 38 // ============================================================================= 39 40 typedef ::cppu::ImplInheritanceHelper1< VbaGlobalsBase, ov::excel::XGlobals > ScVbaGlobals_BASE; 41 42 class ScVbaGlobals : public ScVbaGlobals_BASE 43 { 44 css::uno::Reference< ov::excel::XApplication > mxApplication; 45 virtual css::uno::Reference< 46 ov::excel::XApplication > SAL_CALL getApplication(); 47 public: 48 49 ScVbaGlobals( css::uno::Sequence< css::uno::Any > const& aArgs, 50 css::uno::Reference< css::uno::XComponentContext >const& rxContext ); 51 //ScVbaGlobals( 52 // css::uno::Reference< css::uno::XComponentContext >const& rxContext, ); 53 virtual ~ScVbaGlobals(); 54 55 // XGlobals 56 virtual css::uno::Reference< ov::excel::XWorkbook > SAL_CALL getActiveWorkbook(); 57 virtual css::uno::Reference< ov::excel::XWindow > SAL_CALL getActiveWindow(); 58 virtual css::uno::Reference< ov::excel::XWorksheet > SAL_CALL getActiveSheet(); 59 virtual css::uno::Reference< ov::XAssistant > SAL_CALL getAssistant(); 60 virtual void SAL_CALL Calculate( ); 61 62 virtual css::uno::Any SAL_CALL getSelection(); 63 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL getActiveCell(); 64 virtual css::uno::Reference< ov::excel::XWorkbook > SAL_CALL getThisWorkbook(); 65 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Cells( const css::uno::Any& RowIndex, const css::uno::Any& ColumnIndex ); 66 virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Columns( const css::uno::Any& aIndex ); 67 virtual css::uno::Any SAL_CALL CommandBars( const css::uno::Any& aIndex ); 68 virtual css::uno::Any SAL_CALL Evaluate( const ::rtl::OUString& Name ); 69 70 virtual css::uno::Any SAL_CALL WorkSheets(const css::uno::Any& aIndex ); 71 virtual css::uno::Any SAL_CALL WorkBooks(const css::uno::Any& aIndex ); 72 virtual css::uno::Any SAL_CALL WorksheetFunction( ); 73 virtual css::uno::Any SAL_CALL Windows( const css::uno::Any& aIndex ); 74 virtual css::uno::Any SAL_CALL Sheets( const css::uno::Any& aIndex ); 75 virtual css::uno::Any SAL_CALL Range( const css::uno::Any& Cell1, const css::uno::Any& Cell2 ); 76 virtual css::uno::Reference< ::ooo::vba::excel::XRange > SAL_CALL Rows( const css::uno::Any& aIndex ); 77 virtual css::uno::Any SAL_CALL Names( const css::uno::Any& aIndex ); 78 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 ); 79 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 ); 80 virtual css::uno::Reference< ov::excel::XApplication > SAL_CALL getExcel(); 81 virtual css::uno::Any SAL_CALL getDebug(); 82 83 84 // XMultiServiceFactory 85 virtual css::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames( ); 86 // XHelperInterface 87 virtual rtl::OUString& getServiceImplName(); 88 virtual css::uno::Sequence<rtl::OUString> getServiceNames(); 89 }; 90 #endif // 91