Kaydet (Commit) 4a89fce4 authored tarafından Wang Lei's avatar Wang Lei

#i119942 - Last agrument of formula should not be removed

Patch by: Zhang Lu
Review by: Wang Lei
üst 9995daad
...@@ -1525,6 +1525,37 @@ sal_Bool ExcelToSc::GetAbsRefs( ScRangeList& rRangeList, XclImpStream& rStrm, sa ...@@ -1525,6 +1525,37 @@ sal_Bool ExcelToSc::GetAbsRefs( ScRangeList& rRangeList, XclImpStream& rStrm, sa
return rRangeList.Count() != 0; return rRangeList.Count() != 0;
} }
static DefTokenId missArgForZeroList[] = {
ocCount,
ocCount2,
ocAverage,
ocMin,
ocMinA,
ocMax,
ocMaxA,
ocStDev,
ocStDevA,
ocVar,
ocVarP,
ocAveDev,
ocKurt,
ocSchiefe,
ocVarPA,
ocVarA,
ocDevSq
};
#define missArgForZeroCount sizeof(missArgForZeroList)/sizeof(DefTokenId)
sal_Bool lcl_isInMissArgForZeroList(DefTokenId id)
{
for(short index = 0; index < missArgForZeroCount; index++)
if(missArgForZeroList[index] == id)
return sal_True;
return sal_False;
}
void ExcelToSc::DoMulArgs( DefTokenId eId, sal_uInt8 nAnz, sal_uInt8 nMinParamCount ) void ExcelToSc::DoMulArgs( DefTokenId eId, sal_uInt8 nAnz, sal_uInt8 nMinParamCount )
{ {
TokenId eParam[ 256 ]; TokenId eParam[ 256 ];
...@@ -1575,7 +1606,7 @@ void ExcelToSc::DoMulArgs( DefTokenId eId, sal_uInt8 nAnz, sal_uInt8 nMinParamCo ...@@ -1575,7 +1606,7 @@ void ExcelToSc::DoMulArgs( DefTokenId eId, sal_uInt8 nAnz, sal_uInt8 nMinParamCo
nSkipEnd = 0; // letzten Parameter bei Bedarf weglassen nSkipEnd = 0; // letzten Parameter bei Bedarf weglassen
// Joost-Spezialfaelle // Joost-Spezialfaelle
else if( eId == ocIf ) else if( eId == ocIf || lcl_isInMissArgForZeroList(eId))
{ {
sal_uInt16 nNullParam = 0; sal_uInt16 nNullParam = 0;
for( nLauf = 0 ; nLauf < nAnz ; nLauf++ ) for( nLauf = 0 ; nLauf < nAnz ; nLauf++ )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment