diff options
Diffstat (limited to 'vbahelper/source/vbahelper/vbadocumentbase.cxx')
-rw-r--r-- | vbahelper/source/vbahelper/vbadocumentbase.cxx | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/vbahelper/source/vbahelper/vbadocumentbase.cxx b/vbahelper/source/vbahelper/vbadocumentbase.cxx index 5816b32c864a..d9029ecfcf9f 100644 --- a/vbahelper/source/vbahelper/vbadocumentbase.cxx +++ b/vbahelper/source/vbahelper/vbadocumentbase.cxx @@ -54,16 +54,21 @@ VbaDocumentBase::VbaDocumentBase( uno::Sequence< uno::Any> const & args, OUString VbaDocumentBase::getName() throw (uno::RuntimeException) { - OUString sName = getModel()->getURL(); + return VbaDocumentBase::getNameFromModel( getModel() ); +} + +OUString VbaDocumentBase::getNameFromModel( const uno::Reference< frame::XModel >& xModel ) +{ + OUString sName = xModel.is() ? xModel->getURL() : OUString(); if ( !sName.isEmpty() ) { - INetURLObject aURL( getModel()->getURL() ); + INetURLObject aURL( xModel->getURL() ); ::osl::File::getSystemPathFromFileURL( aURL.GetLastName(), sName ); } else { - uno::Reference< frame::XTitle > xTitle( getModel(), uno::UNO_QUERY_THROW ); + uno::Reference< frame::XTitle > xTitle( xModel, uno::UNO_QUERY_THROW ); sName = xTitle->getTitle(); sName = sName.trim(); } |