diff options
| author | Eike Rathke <erack@redhat.com> | 2012-05-08 10:49:28 +0200 | 
|---|---|---|
| committer | Eike Rathke <erack@redhat.com> | 2012-05-08 10:49:28 +0200 | 
| commit | 01f79a346f27012791fa2373a3b93003963a6b3e (patch) | |
| tree | 8dfe7ebb573160338e3b0cde6e9261ae31b22c60 | |
| parent | 79a6e40e6f19a896dbc25640deb3d4507eddad95 (diff) | |
resolved rhbz#819118 catch exception from VBA lib container
If in an imported Excel document with VBA a sheet to be copied does not have
a document object in the VBAProject container (whyever that may be the case)
the getByName() rightly throws a NoSuchElement exception. Catch that.
| -rw-r--r-- | sc/source/ui/docshell/docsh5.cxx | 18 | 
1 files changed, 12 insertions, 6 deletions
diff --git a/sc/source/ui/docshell/docsh5.cxx b/sc/source/ui/docshell/docsh5.cxx index c297ee02bf6d..e33a68cb6f76 100644 --- a/sc/source/ui/docshell/docsh5.cxx +++ b/sc/source/ui/docshell/docsh5.cxx @@ -949,15 +949,21 @@ sal_Bool ScDocShell::MoveTable( SCTAB nSrcTab, SCTAB nDestTab, sal_Bool bCopy, s                      nTabToUse = aDocument.GetMaxTableNumber() - 1;                  rtl::OUString sCodeName;                  rtl::OUString sSource; -                Reference< XNameContainer > xLib; -                if( xLibContainer.is() ) +                try                  { -                    com::sun::star::uno::Any aLibAny = xLibContainer->getByName( aLibName ); -                    aLibAny >>= xLib; +                    Reference< XNameContainer > xLib; +                    if( xLibContainer.is() ) +                    { +                        com::sun::star::uno::Any aLibAny = xLibContainer->getByName( aLibName ); +                        aLibAny >>= xLib; +                    } +                    if( xLib.is() ) +                    { +                        xLib->getByName( sSrcCodeName ) >>= sSource; +                    }                  } -                if( xLib.is() ) +                catch ( const com::sun::star::uno::Exception& )                  { -                    xLib->getByName( sSrcCodeName ) >>= sSource;                  }                  VBA_InsertModule( aDocument, nTabToUse, sCodeName, sSource );              }  | 
