--- sc/source/ui/vba//vbaapplication.hxx	
+++ sc/source/ui/vba//vbaapplication.hxx
@@ -35,26 +35,27 @@
 #ifndef SC_VBA_APPLICATION_HXX
 #define SC_VBA_APPLICATION_HXX
 
-#include <cppuhelper/implbase1.hxx>
 
 #include <org/openoffice/excel/XWorksheetFunction.hpp>
 #include <org/openoffice/excel/XApplication.hpp>
 #include <com/sun/star/uno/XComponentContext.hpp>
 
-#include "vbahelper.hxx"
+#include "vbahelperinterface.hxx"
 
-typedef ::cppu::WeakImplHelper1< oo::excel::XApplication > ScVbaApplication_BASE;
+typedef InheritedHelperInterfaceImpl1< oo::excel::XApplication > ScVbaApplication_BASE;
 
 class ScVbaApplication : public ScVbaApplication_BASE
 {
 private:
-	css::uno::Reference< css::uno::XComponentContext > m_xContext;
 	sal_Int32 m_xCalculation;
 public:
 	ScVbaApplication( css::uno::Reference< css::uno::XComponentContext >& m_xContext );
 	virtual ~ScVbaApplication();
 
-    // XApplication
+	// XHelperInterface ( parent is itself )
+	virtual css::uno::Reference< oo::vba::XHelperInterface > SAL_CALL getParent(  ) throw (css::script::BasicErrorException, css::uno::RuntimeException) { return this; }
+
+	// XApplication
 	virtual ::sal_Int32 SAL_CALL getCalculation() throw (css::uno::RuntimeException);
 	virtual void SAL_CALL setCalculation( ::sal_Int32 _calculation ) throw (css::uno::RuntimeException);
 	virtual css::uno::Reference< oo::excel::XRange > SAL_CALL getSelection() throw (css::uno::RuntimeException);
@@ -86,5 +87,8 @@ public:
 	virtual void SAL_CALL wait( double time ) throw (css::uno::RuntimeException);
 	virtual css::uno::Any SAL_CALL Range( const css::uno::Any& Cell1, const css::uno::Any& Cell2 ) throw (css::uno::RuntimeException);
 	virtual void SAL_CALL GoTo( const css::uno::Any& Reference, const css::uno::Any& Scroll ) throw (css::uno::RuntimeException);
+	// XHelperInterface
+	virtual rtl::OUString& getServiceImplName();
+	virtual css::uno::Sequence<rtl::OUString> getServiceNames();
 };
 #endif /* SC_VBA_APPLICATION_HXX */
