summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Voytenko <mav@openoffice.org>2010-08-13 14:48:18 +0200
committerMikhail Voytenko <mav@openoffice.org>2010-08-13 14:48:18 +0200
commit5df1941a50f21012cb1b44c46e57e8b29467544b (patch)
tree6d9bd2dd3ce77dc60f2435f98ed20fa14f374633
parentf8ec5aff1ec516c5184cbd778575ec3065c63145 (diff)
mib18: #163278# handle the internal VBA types correctly
-rwxr-xr-xbasic/source/classes/sbunoobj.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/basic/source/classes/sbunoobj.cxx b/basic/source/classes/sbunoobj.cxx
index 3e775613198b..c9123b06341b 100755
--- a/basic/source/classes/sbunoobj.cxx
+++ b/basic/source/classes/sbunoobj.cxx
@@ -301,7 +301,12 @@ SbUnoObject* createOLEObject_Impl( const String& aType )
SbUnoObject* pUnoObj = NULL;
if( xOLEFactory.is() )
{
- Reference< XInterface > xOLEObject = xOLEFactory->createInstance( aType );
+ // some type names available in VBA can not be directly used in COM
+ ::rtl::OUString aOLEType = aType;
+ if ( aOLEType.equals( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "SAXXMLReader30" ) ) ) )
+ aOLEType = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Msxml2.SAXXMLReader.3.0" ) );
+
+ Reference< XInterface > xOLEObject = xOLEFactory->createInstance( aOLEType );
if( xOLEObject.is() )
{
Any aAny;