summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNoel Power <noel.power@suse.com>2013-06-04 15:24:29 +0100
committerAndras Timar <andras.timar@collabora.com>2014-01-08 17:02:30 +0100
commitd51039de69b2e10f559c5ea6dd9859b1c29d8788 (patch)
tree77e8111efd45c699dc71f164a79bc4188c800e25 /include
parent5428ccf34d212c2d38b159cfa0902dfba3e0f15a (diff)
fix for fdo#53042 fix ole object macro bindings ( for xlsm )
A number of fixes needed here a) make sure convert properties of control model is done before inserting control model into formcontainer, need to do that to ensure that GenerateVBAEvents is set ( so the fake VBA event generation can be triggered ) b) remove the IsAlieanExcel check in servuno.cxx ( it's too strict and additionally seems there is confusion over the media type to check ) c) split the vba import so that we can ensure the VBA mode is set (if we have modules to import ) before sheets are imported and defer further processing ( actual assigning of the modules and associated objects ) until later Change-Id: I8fdbe788b400d7e41d4cc4b51b15f692bd7b0ecc
Diffstat (limited to 'include')
-rw-r--r--include/oox/ole/vbaproject.hxx11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/oox/ole/vbaproject.hxx b/include/oox/ole/vbaproject.hxx
index f742138756b5..55ac3a8b280a 100644
--- a/include/oox/ole/vbaproject.hxx
+++ b/include/oox/ole/vbaproject.hxx
@@ -25,6 +25,7 @@
#include "oox/helper/refvector.hxx"
#include "oox/helper/storagebase.hxx"
#include "oox/dllapi.h"
+#include "oox/ole/vbamodule.hxx"
namespace com { namespace sun { namespace star {
namespace container { class XNameContainer; }
@@ -126,7 +127,12 @@ public:
bool importVbaProject(
StorageBase& rVbaPrjStrg );
- /** Registers a macro atatcher object. For details, see description of the
+ /** Reads vba module related information from the project streams */
+ void readVbaModules( StorageBase& rVbaPrjStrg );
+ /** Imports (and creates) vba modules and user forms from the vba project records previously read.
+ Note: ( expects that readVbaModules was already called ) */
+ void importModulesAndForms( StorageBase& rVbaPrjStrg, const GraphicHelper& rGraphicHelper, bool bDefaultColorBgr = true );
+ /** Registers a macro attacher object. For details, see description of the
VbaMacroAttacherBase class. */
void registerMacroAttacher( const VbaMacroAttacherRef& rxAttacher );
@@ -194,6 +200,9 @@ private:
OUString maPrjName; ///< Name of the VBA project.
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >
mxOleOverridesSink;
+ typedef RefMap< rtl::OUString, VbaModule > VbaModuleMap;
+ VbaModuleMap maModules;
+ VbaModuleMap maModulesByStrm;
};
// ============================================================================