summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-06-25 16:38:52 -0400
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-06-25 16:42:06 -0400
commit0a0e7a5df9f41924a454abde636b732502e6a712 (patch)
tree30f55ca61d89f617a27734338c190c3b824af34d
parent341f2ea55310112925e64c75c8c6f837e8887445 (diff)
bnc#882595: Process VBA blobs before formula cells.
So that formula cells with user-defined functions will be interpreted correctly. Change-Id: I49c10109575f9f82d7f85dea63590bf02b70e041 (cherry picked from commit 5e83804da815a982aed567a8cae4cc078491dcbd)
-rw-r--r--sc/source/filter/oox/workbookhelper.cxx13
1 files changed, 7 insertions, 6 deletions
diff --git a/sc/source/filter/oox/workbookhelper.cxx b/sc/source/filter/oox/workbookhelper.cxx
index 15b676aa68f0..59c87c53b993 100644
--- a/sc/source/filter/oox/workbookhelper.cxx
+++ b/sc/source/filter/oox/workbookhelper.cxx
@@ -751,6 +751,13 @@ void WorkbookHelper::finalizeWorkbookImport()
mrBookGlob.getWorkbookSettings().finalizeImport();
mrBookGlob.getViewSettings().finalizeImport();
+ // Import the VBA project (after finalizing workbook settings which
+ // contains the workbook code name). Do it before processing formulas in
+ // order to correctly resolve VBA custom function names.
+ StorageRef xVbaPrjStrg = mrBookGlob.getVbaProjectStorage();
+ if( xVbaPrjStrg.get() && xVbaPrjStrg->isStorage() )
+ getBaseFilter().getVbaProject().importModulesAndForms( *xVbaPrjStrg, getBaseFilter().getGraphicHelper() );
+
// need to import formulas before scenarios
mrBookGlob.getFormulaBuffer().finalizeImport();
@@ -770,12 +777,6 @@ void WorkbookHelper::finalizeWorkbookImport()
sheets. Automatic numbering is set by passing the value 0. */
PropertySet aDefPageStyle( getStyleObject( "Default", true ) );
aDefPageStyle.setProperty< sal_Int16 >( PROP_FirstPageNumber, 0 );
-
- /* Import the VBA project (after finalizing workbook settings which
- contains the workbook code name). */
- StorageRef xVbaPrjStrg = mrBookGlob.getVbaProjectStorage();
- if( xVbaPrjStrg.get() && xVbaPrjStrg->isStorage() )
- getBaseFilter().getVbaProject().importModulesAndForms( *xVbaPrjStrg, getBaseFilter().getGraphicHelper() );
}
// document model -------------------------------------------------------------