--- sc/source/ui/vba//service.cxx	
+++ sc/source/ui/vba//service.cxx
@@ -35,6 +35,7 @@
 #include "cppuhelper/implementationentry.hxx"
 #include "com/sun/star/lang/XMultiServiceFactory.hpp"
 #include "com/sun/star/registry/XRegistryKey.hpp"
+#include "comphelper/servicedecl.hxx"
 
 // =============================================================================
 // component exports
@@ -42,39 +43,17 @@
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
 
-namespace vbaobj
-{
-    // =============================================================================
-    // component operations
-    // =============================================================================
-
-    uno::Reference< XInterface > SAL_CALL create(
-        Reference< XComponentContext > const & xContext )
-        SAL_THROW( () );
-
-    // -----------------------------------------------------------------------------
-
-    ::rtl::OUString SAL_CALL getImplementationName();
-
-	Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames();
-
-//	Reference<XInterface> SAL_CALL create(
-//		Sequence<Any> const &, Reference<XComponentContext> const & );
-} // end namespace vbaobj
-
+namespace sdecl = comphelper::service_decl;
 
-    // =============================================================================
-
-    const ::cppu::ImplementationEntry s_component_entries [] =
-    {
-        {
-            ::vbaobj::create, ::vbaobj::getImplementationName,
-            ::vbaobj::getSupportedServiceNames, 
-		::cppu::createSingleComponentFactory,
-            0, 0
-        },
-        { 0, 0, 0, 0, 0, 0 }
-    };
+// reference service helper(s)
+namespace  range
+{
+extern sdecl::ServiceDecl const serviceDecl;
+}
+namespace globals
+{
+extern sdecl::ServiceDecl const serviceDecl;
+}
 
 extern "C"
 {
@@ -89,9 +68,12 @@ extern "C"
         lang::XMultiServiceFactory * pServiceManager, registry::XRegistryKey * pRegistryKey )
     {
 		OSL_TRACE("In component_writeInfo");
-        if ( ::cppu::component_writeInfoHelper(
-            pServiceManager, pRegistryKey, s_component_entries ) )
+
+	// Component registration
+        if ( component_writeInfoHelper( pServiceManager, pRegistryKey, 
+		range::serviceDecl, globals::serviceDecl ) )
 		{
+			// Singleton registration
 			try
 			{
 				registry::XRegistryKey * pKey =
@@ -115,8 +97,10 @@ extern "C"
         const sal_Char * pImplName, lang::XMultiServiceFactory * pServiceManager,
         registry::XRegistryKey * pRegistryKey )
     {
-		OSL_TRACE("In component_getFactory");
-        return ::cppu::component_getFactoryHelper( 
-            pImplName, pServiceManager, pRegistryKey, s_component_entries );
+		OSL_TRACE("In component_getFactory for %s", pImplName );
+	void* pRet =  component_getFactoryHelper(
+        	pImplName, pServiceManager, pRegistryKey, range::serviceDecl, globals::serviceDecl );
+	OSL_TRACE("Ret is 0x%x", pRet);
+	return pRet;
     }
 }
