[Libreoffice-commits] core.git: Branch 'feature/vba-export' - oox/source

Markus Mohrhard markus.mohrhard at googlemail.com
Fri Aug 14 19:14:34 PDT 2015


 oox/source/ole/vbaexport.cxx |   17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

New commits:
commit 846f90e1ba9a4814752e398a065bdc4ab872f20d
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Sat Aug 15 04:13:41 2015 +0200

    list all libraries used in the document

diff --git a/oox/source/ole/vbaexport.cxx b/oox/source/ole/vbaexport.cxx
index e2ec045..253d43e 100644
--- a/oox/source/ole/vbaexport.cxx
+++ b/oox/source/ole/vbaexport.cxx
@@ -308,7 +308,8 @@ void VBACompression::write()
 VbaExport::VbaExport(css::uno::Reference<css::frame::XModel> xModel):
     mxModel(xModel)
 {
-    maProjectName = "How to get the correct project name?";
+    // TODO: how do we get the correct project name
+    maProjectName = "VBAProject";
 }
 
 namespace {
@@ -606,6 +607,14 @@ void VbaExport::exportVBA()
 
     VBACompression aCompression(aCompressedStream, aMemoryStream);
     aCompression.write();
+
+    css::uno::Reference<css::container::XNameContainer> xNameContainer = getBasicLibrary();
+    css::uno::Sequence<OUString> aElementNames = xNameContainer->getElementNames();
+    sal_Int32 n = aElementNames.getLength();
+    for (sal_Int32 i = 0; i < n; ++i)
+    {
+        SAL_DEBUG(aElementNames[i]);
+    }
 }
 
 css::uno::Reference<css::container::XNameContainer> VbaExport::getBasicLibrary()
@@ -615,6 +624,12 @@ css::uno::Reference<css::container::XNameContainer> VbaExport::getBasicLibrary()
     {
         oox::PropertySet aDocProp(mxModel);
         css::uno::Reference<css::script::XLibraryContainer> xLibContainer(aDocProp.getAnyProperty(oox::PROP_BasicLibraries), css::uno::UNO_QUERY_THROW);
+        css::uno::Sequence<OUString> aElementNames = xLibContainer->getElementNames();
+        sal_Int32 n = aElementNames.getLength();
+        for (sal_Int32 i = 0; i < n; ++i)
+        {
+            SAL_DEBUG(aElementNames[i]);
+        }
         xLibrary.set( xLibContainer->getByName(maProjectName), css::uno::UNO_QUERY_THROW );
     }
     catch(...)


More information about the Libreoffice-commits mailing list