diff options
Diffstat (limited to 'sc/source/filter/excel/excform8.cxx')
-rw-r--r-- | sc/source/filter/excel/excform8.cxx | 438 |
1 files changed, 219 insertions, 219 deletions
diff --git a/sc/source/filter/excel/excform8.cxx b/sc/source/filter/excel/excform8.cxx index b542a9bdd580..e66855dadeae 100644 --- a/sc/source/filter/excel/excform8.cxx +++ b/sc/source/filter/excel/excform8.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -97,20 +97,20 @@ bool ExcelToSc8::Read3DTabReference( UINT16 nIxti, SCTAB& rFirstTab, SCTAB& rLas // otherwise it will seek to the first byte past additional content after <nFormulaLen> ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, sal_Size nFormulaLen, bool bAllowArrays, const FORMULA_TYPE eFT ) { - BYTE nOp, nLen, nByte; + BYTE nOp, nLen, nByte; UINT16 nUINT16; - double fDouble; - String aString; - BOOL bError = FALSE; - BOOL bArrayFormula = FALSE; - TokenId nMerk0; - const BOOL bRangeName = eFT == FT_RangeName; - const BOOL bSharedFormula = eFT == FT_SharedFormula; - const BOOL bRNorSF = bRangeName || bSharedFormula; - - ScSingleRefData aSRD; - ScComplexRefData aCRD; - ExtensionTypeVec aExtensions; + double fDouble; + String aString; + BOOL bError = FALSE; + BOOL bArrayFormula = FALSE; + TokenId nMerk0; + const BOOL bRangeName = eFT == FT_RangeName; + const BOOL bSharedFormula = eFT == FT_SharedFormula; + const BOOL bRNorSF = bRangeName || bSharedFormula; + + ScSingleRefData aSRD; + ScComplexRefData aCRD; + ExtensionTypeVec aExtensions; if( eStatus != ConvOK ) { @@ -136,91 +136,91 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, aSRD.InitFlags(); aCRD.InitFlags(); - switch( nOp ) // Buch Seite: - { // SDK4 SDK5 - case 0x01: // Array Formula [325 ] - // Array Formula or Shared Formula [ 277] - case 0x02: // Data Table [325 277] + switch( nOp ) // Buch Seite: + { // SDK4 SDK5 + case 0x01: // Array Formula [325 ] + // Array Formula or Shared Formula [ 277] + case 0x02: // Data Table [325 277] aIn.Ignore( 4 ); bArrayFormula = TRUE; break; - case 0x03: // Addition [312 264] + case 0x03: // Addition [312 264] aStack >> nMerk0; aPool << aStack << ocAdd << nMerk0; aPool >> aStack; break; - case 0x04: // Subtraction [313 264] + case 0x04: // Subtraction [313 264] // SECOMD-TOP minus TOP aStack >> nMerk0; aPool << aStack << ocSub << nMerk0; aPool >> aStack; break; - case 0x05: // Multiplication [313 264] + case 0x05: // Multiplication [313 264] aStack >> nMerk0; aPool << aStack << ocMul << nMerk0; aPool >> aStack; break; - case 0x06: // Division [313 264] + case 0x06: // Division [313 264] // divide TOP by SECOND-TOP aStack >> nMerk0; aPool << aStack << ocDiv << nMerk0; aPool >> aStack; break; - case 0x07: // Exponetiation [313 265] + case 0x07: // Exponetiation [313 265] // raise SECOND-TOP to power of TOP aStack >> nMerk0; aPool << aStack << ocPow << nMerk0; aPool >> aStack; break; - case 0x08: // Concatenation [313 265] + case 0x08: // Concatenation [313 265] // append TOP to SECOND-TOP aStack >> nMerk0; aPool << aStack << ocAmpersand << nMerk0; aPool >> aStack; break; - case 0x09: // Less Than [313 265] + case 0x09: // Less Than [313 265] // SECOND-TOP < TOP aStack >> nMerk0; aPool << aStack << ocLess << nMerk0; aPool >> aStack; break; - case 0x0A: // Less Than or Equal [313 265] + case 0x0A: // Less Than or Equal [313 265] // SECOND-TOP <= TOP aStack >> nMerk0; aPool << aStack << ocLessEqual << nMerk0; aPool >> aStack; break; - case 0x0B: // Equal [313 265] + case 0x0B: // Equal [313 265] // SECOND-TOP == TOP aStack >> nMerk0; aPool << aStack << ocEqual << nMerk0; aPool >> aStack; break; - case 0x0C: // Greater Than or Equal [313 265] + case 0x0C: // Greater Than or Equal [313 265] // SECOND-TOP == TOP aStack >> nMerk0; aPool << aStack << ocGreaterEqual << nMerk0; aPool >> aStack; break; - case 0x0D: // Greater Than [313 265] + case 0x0D: // Greater Than [313 265] // SECOND-TOP == TOP aStack >> nMerk0; aPool << aStack << ocGreater << nMerk0; aPool >> aStack; break; - case 0x0E: // Not Equal [313 265] + case 0x0E: // Not Equal [313 265] // SECOND-TOP == TOP aStack >> nMerk0; aPool << aStack << ocNotEqual << nMerk0; aPool >> aStack; break; - case 0x0F: // Intersection [314 265] + case 0x0F: // Intersection [314 265] aStack >> nMerk0; aPool << aStack << ocIntersect << nMerk0; aPool >> aStack; break; - case 0x10: // Union [314 265] + case 0x10: // Union [314 265] // ocSep behelfsweise statt 'ocUnion' aStack >> nMerk0; //#100928# aPool << ocOpen << aStack << ocSep << nMerk0 << ocClose; @@ -228,54 +228,54 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, // doesn't fit exactly, but is more Excel-like aPool >> aStack; break; - case 0x11: // Range [314 265] + case 0x11: // Range [314 265] aStack >> nMerk0; aPool << aStack << ocRange << nMerk0; aPool >> aStack; break; - case 0x12: // Unary Plus [312 264] + case 0x12: // Unary Plus [312 264] aPool << ocAdd << aStack; aPool >> aStack; break; - case 0x13: // Unary Minus [312 264] + case 0x13: // Unary Minus [312 264] aPool << ocNegSub << aStack; aPool >> aStack; break; - case 0x14: // Percent Sign [312 264] + case 0x14: // Percent Sign [312 264] aPool << aStack << ocPercentSign; aPool >> aStack; break; - case 0x15: // Parenthesis [326 278] + case 0x15: // Parenthesis [326 278] aPool << ocOpen << aStack << ocClose; aPool >> aStack; break; - case 0x16: // Missing Argument [314 266] + case 0x16: // Missing Argument [314 266] aPool << ocMissing; aPool >> aStack; GetTracer().TraceFormulaMissingArg(); break; - case 0x17: // String Constant [314 266] - aIn >> nLen; // und? + case 0x17: // String Constant [314 266] + aIn >> nLen; // und? aString = aIn.ReadUniString( nLen ); // reads Grbit even if nLen==0 aStack << aPool.Store( aString ); break; - case 0x18: // natural language formula + case 0x18: // natural language formula { - UINT8 nEptg; - UINT16 nCol, nRow; + UINT8 nEptg; + UINT16 nCol, nRow; aIn >> nEptg; switch( nEptg ) - { // name size ext type - case 0x01: // Lel 4 - err + { // name size ext type + case 0x01: // Lel 4 - err aIn.Ignore( 4 ); aPool << ocBad; aPool >> aStack; break; - case 0x02: // Rw 4 - ref - case 0x03: // Col 4 - ref - case 0x06: // RwV 4 - val - case 0x07: // ColV 4 - val + case 0x02: // Rw 4 - ref + case 0x03: // Col 4 - ref + case 0x06: // RwV 4 - val + case 0x07: // ColV 4 - val aIn >> nRow >> nCol; aSRD.InitAddress( ScAddress( static_cast<SCCOL>(nCol & 0xFF), static_cast<SCROW>(nRow), aEingPos.Tab() ) ); @@ -289,7 +289,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, aStack << aPool.StoreNlf( aSRD ); break; - case 0x0A: // Radical 13 - ref + case 0x0A: // Radical 13 - ref aIn >> nRow >> nCol; aIn.Ignore( 9 ); @@ -301,13 +301,13 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, aStack << aPool.StoreNlf( aSRD ); break; - case 0x0B: // RadicalS 13 x ref + case 0x0B: // RadicalS 13 x ref aIn.Ignore( 13 ); aExtensions.push_back( EXTENSION_NLR ); aPool << ocBad; aPool >> aStack; break; - case 0x0C: // RwS 4 x ref + case 0x0C: // RwS 4 x ref case 0x0D: // ColS 4 x ref case 0x0E: // RwSV 4 x val case 0x0F: // ColSV 4 x val @@ -316,7 +316,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, aPool << ocBad; aPool >> aStack; break; - case 0x10: // RadicalLel 4 - err + case 0x10: // RadicalLel 4 - err case 0x1D: // SxName 4 - val aIn.Ignore( 4 ); aPool << ocBad; @@ -328,7 +328,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, } } break; - case 0x19: // Special Attribute [327 279] + case 0x19: // Special Attribute [327 279] { UINT16 nData, nFakt; BYTE nOpt; @@ -337,19 +337,19 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, nFakt = 2; if( nOpt & 0x04 ) - {// nFakt -> Bytes oder Words ueberlesen AttrChoose + {// nFakt -> Bytes oder Words ueberlesen AttrChoose nData++; aIn.Ignore( nData * nFakt ); } - else if( nOpt & 0x10 ) // AttrSum + else if( nOpt & 0x10 ) // AttrSum DoMulArgs( ocSum, 1 ); } break; - case 0x1C: // Error Value [314 266] + case 0x1C: // Error Value [314 266] { aIn >> nByte; - DefTokenId eOc; + DefTokenId eOc; switch( nByte ) { case EXC_ERR_NULL: @@ -367,7 +367,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, aPool >> aStack; } break; - case 0x1D: // Boolean [315 266] + case 0x1D: // Boolean [315 266] aIn >> nByte; if( nByte == 0 ) aPool << ocFalse << ocOpen << ocClose; @@ -375,17 +375,17 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, aPool << ocTrue << ocOpen << ocClose; aPool >> aStack; break; - case 0x1E: // Integer [315 266] + case 0x1E: // Integer [315 266] aIn >> nUINT16; aStack << aPool.Store( ( double ) nUINT16 ); break; - case 0x1F: // Number [315 266] + case 0x1F: // Number [315 266] aIn >> fDouble; aStack << aPool.Store( fDouble ); break; case 0x40: case 0x60: - case 0x20: // Array Constant [317 268] + case 0x20: // Array Constant [317 268] aIn >> nByte >> nUINT16; aIn.Ignore( 4 ); if( bAllowArrays ) @@ -401,7 +401,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, break; case 0x41: case 0x61: - case 0x21: // Function, Fixed Number of Arguments [333 282] + case 0x21: // Function, Fixed Number of Arguments [333 282] { sal_uInt16 nXclFunc; aIn >> nXclFunc; @@ -413,7 +413,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, break; case 0x42: case 0x62: - case 0x22: // Function, Variable Number of Arg. [333 283] + case 0x22: // Function, Variable Number of Arg. [333 283] { sal_uInt16 nXclFunc; sal_uInt8 nParamCount; @@ -427,7 +427,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, break; case 0x43: case 0x63: - case 0x23: // Name [318 269] + case 0x23: // Name [318 269] aIn >> nUINT16; { aIn.Ignore( 2 ); @@ -441,12 +441,12 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, break; case 0x44: case 0x64: - case 0x24: // Cell Reference [319 270] + case 0x24: // Cell Reference [319 270] case 0x4A: case 0x6A: - case 0x2A: // Deleted Cell Reference [323 273] + case 0x2A: // Deleted Cell Reference [323 273] { - UINT16 nCol, nRow; + UINT16 nCol, nRow; aIn >> nRow >> nCol; @@ -462,7 +462,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, { case 0x4A: case 0x6A: - case 0x2A: // Deleted Cell Reference [323 273] + case 0x2A: // Deleted Cell Reference [323 273] // no information which part is deleted, set both aSRD.SetColDeleted( TRUE ); aSRD.SetRowDeleted( TRUE ); @@ -473,15 +473,15 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, break; case 0x45: case 0x65: - case 0x25: // Area Reference [320 270] + case 0x25: // Area Reference [320 270] case 0x4B: case 0x6B: - case 0x2B: // Deleted Area Refernce [323 273] + case 0x2B: // Deleted Area Refernce [323 273] { - UINT16 nRowFirst, nRowLast; - UINT16 nColFirst, nColLast; - ScSingleRefData &rSRef1 = aCRD.Ref1; - ScSingleRefData &rSRef2 = aCRD.Ref2; + UINT16 nRowFirst, nRowLast; + UINT16 nColFirst, nColLast; + ScSingleRefData &rSRef1 = aCRD.Ref1; + ScSingleRefData &rSRef2 = aCRD.Ref2; aIn >> nRowFirst >> nRowLast >> nColFirst >> nColLast; @@ -503,7 +503,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, { case 0x4B: case 0x6B: - case 0x2B: // Deleted Area Refernce [323 273] + case 0x2B: // Deleted Area Refernce [323 273] // no information which part is deleted, set all rSRef1.SetColDeleted( TRUE ); rSRef1.SetRowDeleted( TRUE ); @@ -516,13 +516,13 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, break; case 0x46: case 0x66: - case 0x26: // Constant Reference Subexpression [321 271] + case 0x26: // Constant Reference Subexpression [321 271] aExtensions.push_back( EXTENSION_MEMAREA ); aIn.Ignore( 6 ); // mehr steht da nicht! break; case 0x47: case 0x67: - case 0x27: // Erroneous Constant Reference Subexpr. [322 272] + case 0x27: // Erroneous Constant Reference Subexpr. [322 272] aIn.Ignore( 6 ); // mehr steht da nicht! // aPool << ocBad; // aPool >> aStack; @@ -536,15 +536,15 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, break; case 0x49: case 0x69: - case 0x29: // Variable Reference Subexpression [331 281] + case 0x29: // Variable Reference Subexpression [331 281] aIn.Ignore( 2 ); // mehr steht da nicht! break; case 0x4C: case 0x6C: - case 0x2C: // Cell Reference Within a Name [323 ] + case 0x2C: // Cell Reference Within a Name [323 ] // Cell Reference Within a Shared Formula[ 273] { - UINT16 nRow, nCol; + UINT16 nRow, nCol; aIn >> nRow >> nCol; @@ -559,10 +559,10 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, break; case 0x4D: case 0x6D: - case 0x2D: // Area Reference Within a Name [324 ] - { // Area Reference Within a Shared Formula[ 274] - UINT16 nRowFirst, nRowLast; - UINT16 nColFirst, nColLast; + case 0x2D: // Area Reference Within a Name [324 ] + { // Area Reference Within a Shared Formula[ 274] + UINT16 nRowFirst, nRowLast; + UINT16 nColFirst, nColLast; aCRD.Ref1.nRelTab = aCRD.Ref2.nRelTab = 0; aCRD.Ref1.SetTabRel( TRUE ); @@ -585,21 +585,21 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, break; case 0x4E: case 0x6E: - case 0x2E: // Reference Subexpression Within a Name [332 282] + case 0x2E: // Reference Subexpression Within a Name [332 282] aIn.Ignore( 2 ); // mehr steht da nicht! // aPool << ocBad; // aPool >> aStack; break; case 0x4F: case 0x6F: - case 0x2F: // Incomplete Reference Subexpression... [332 282] + case 0x2F: // Incomplete Reference Subexpression... [332 282] aIn.Ignore( 2 ); // mehr steht da nicht! // aPool << ocBad; // aPool >> aStack; break; case 0x58: case 0x78: - case 0x38: // Command-Equivalent Function [333 ] + case 0x38: // Command-Equivalent Function [333 ] aString.AssignAscii( "COMM_EQU_FUNC" ); aIn >> nByte; aString += String::CreateFromInt32( nByte ); @@ -609,7 +609,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, break; case 0x59: case 0x79: - case 0x39: // Name or External Name [ 275] + case 0x39: // Name or External Name [ 275] { sal_uInt16 nXtiIndex, nNameIdx; aIn >> nXtiIndex >> nNameIdx; @@ -695,10 +695,10 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, break; case 0x5A: case 0x7A: - case 0x3A: // 3-D Cell Reference [ 275] + case 0x3A: // 3-D Cell Reference [ 275] case 0x5C: case 0x7C: - case 0x3C: // Deleted 3-D Cell Reference [ 277] + case 0x3C: // Deleted 3-D Cell Reference [ 277] { UINT16 nIxti, nRw, nGrbitCol; SCTAB nTabFirst, nTabLast; @@ -723,7 +723,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, { case 0x5C: case 0x7C: - case 0x3C: // Deleted 3-D Cell Reference [ 277] + case 0x3C: // Deleted 3-D Cell Reference [ 277] // no information which part is deleted, set both aSRD.SetColDeleted( TRUE ); aSRD.SetRowDeleted( TRUE ); @@ -765,10 +765,10 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, break; case 0x5B: case 0x7B: - case 0x3B: // 3-D Area Reference [ 276] + case 0x3B: // 3-D Area Reference [ 276] case 0x5D: case 0x7D: - case 0x3D: // Deleted 3-D Area Reference [ 277] + case 0x3D: // Deleted 3-D Area Reference [ 277] { UINT16 nIxti, nRw1, nGrbitCol1, nRw2, nGrbitCol2; SCTAB nTabFirst, nTabLast; @@ -781,8 +781,8 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, aPool >> aStack; break; } - ScSingleRefData &rR1 = aCRD.Ref1; - ScSingleRefData &rR2 = aCRD.Ref2; + ScSingleRefData &rR1 = aCRD.Ref1; + ScSingleRefData &rR2 = aCRD.Ref2; rR1.nTab = nTabFirst; @@ -804,7 +804,7 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, { case 0x5D: case 0x7D: - case 0x3D: // Deleted 3-D Area Reference [ 277] + case 0x3D: // Deleted 3-D Area Reference [ 277] // no information which part is deleted, set all rR1.SetColDeleted( TRUE ); rR1.SetRowDeleted( TRUE ); @@ -872,15 +872,15 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn, ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sal_Size nFormulaLen, SCsTAB nTab, const FORMULA_TYPE eFT ) { - BYTE nOp, nLen;//, nByte; - BOOL bError = FALSE; - BOOL bArrayFormula = FALSE; - const BOOL bRangeName = eFT == FT_RangeName; - const BOOL bSharedFormula = eFT == FT_SharedFormula; - const BOOL bRNorSF = bRangeName || bSharedFormula; - - ScSingleRefData aSRD; - ScComplexRefData aCRD; + BYTE nOp, nLen;//, nByte; + BOOL bError = FALSE; + BOOL bArrayFormula = FALSE; + const BOOL bRangeName = eFT == FT_RangeName; + const BOOL bSharedFormula = eFT == FT_SharedFormula; + const BOOL bRNorSF = bRangeName || bSharedFormula; + + ScSingleRefData aSRD; + ScComplexRefData aCRD; bExternName = FALSE; @@ -903,44 +903,44 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa aSRD.InitFlags(); aCRD.InitFlags(); - switch( nOp ) // Buch Seite: - { // SDK4 SDK5 - case 0x01: // Array Formula [325 ] - // Array Formula or Shared Formula [ 277] + switch( nOp ) // Buch Seite: + { // SDK4 SDK5 + case 0x01: // Array Formula [325 ] + // Array Formula or Shared Formula [ 277] aIn.Ignore( 4 ); bArrayFormula = TRUE; break; - case 0x02: // Data Table [325 277] + case 0x02: // Data Table [325 277] aIn.Ignore( 4 ); break; - case 0x03: // Addition [312 264] - case 0x04: // Subtraction [313 264] - case 0x05: // Multiplication [313 264] - case 0x06: // Division [313 264] - case 0x07: // Exponetiation [313 265] - case 0x08: // Concatenation [313 265] - case 0x09: // Less Than [313 265] - case 0x0A: // Less Than or Equal [313 265] - case 0x0B: // Equal [313 265] - case 0x0C: // Greater Than or Equal [313 265] - case 0x0D: // Greater Than [313 265] - case 0x0E: // Not Equal [313 265] - case 0x0F: // Intersection [314 265] - case 0x10: // Union [314 265] - case 0x11: // Range [314 265] - case 0x12: // Unary Plus [312 264] - case 0x13: // Unary Minus [312 264] - case 0x14: // Percent Sign [312 264] - case 0x15: // Parenthesis [326 278] - case 0x16: // Missing Argument [314 266] - break; - case 0x17: // String Constant [314 266] - aIn >> nLen; // und? - - aIn.IgnoreUniString( nLen ); // reads Grbit even if nLen==0 - break; - case 0x19: // Special Attribute [327 279] + case 0x03: // Addition [312 264] + case 0x04: // Subtraction [313 264] + case 0x05: // Multiplication [313 264] + case 0x06: // Division [313 264] + case 0x07: // Exponetiation [313 265] + case 0x08: // Concatenation [313 265] + case 0x09: // Less Than [313 265] + case 0x0A: // Less Than or Equal [313 265] + case 0x0B: // Equal [313 265] + case 0x0C: // Greater Than or Equal [313 265] + case 0x0D: // Greater Than [313 265] + case 0x0E: // Not Equal [313 265] + case 0x0F: // Intersection [314 265] + case 0x10: // Union [314 265] + case 0x11: // Range [314 265] + case 0x12: // Unary Plus [312 264] + case 0x13: // Unary Minus [312 264] + case 0x14: // Percent Sign [312 264] + case 0x15: // Parenthesis [326 278] + case 0x16: // Missing Argument [314 266] + break; + case 0x17: // String Constant [314 266] + aIn >> nLen; // und? + + aIn.IgnoreUniString( nLen ); // reads Grbit even if nLen==0 + break; + case 0x19: // Special Attribute [327 279] { UINT16 nData, nFakt; BYTE nOpt; @@ -949,47 +949,47 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa nFakt = 2; if( nOpt & 0x04 ) - {// nFakt -> Bytes oder Words ueberlesen AttrChoose + {// nFakt -> Bytes oder Words ueberlesen AttrChoose nData++; aIn.Ignore( nData * nFakt ); } } break; - case 0x1C: // Error Value [314 266] - case 0x1D: // Boolean [315 266] + case 0x1C: // Error Value [314 266] + case 0x1D: // Boolean [315 266] aIn.Ignore( 1 ); break; - case 0x1E: // Integer [315 266] + case 0x1E: // Integer [315 266] aIn.Ignore( 2 ); break; - case 0x1F: // Number [315 266] + case 0x1F: // Number [315 266] aIn.Ignore( 8 ); break; case 0x40: case 0x60: - case 0x20: // Array Constant [317 268] + case 0x20: // Array Constant [317 268] aIn.Ignore( 7 ); break; case 0x41: case 0x61: - case 0x21: // Function, Fixed Number of Arguments [333 282] + case 0x21: // Function, Fixed Number of Arguments [333 282] aIn.Ignore( 2 ); break; case 0x42: case 0x62: - case 0x22: // Function, Variable Number of Arg. [333 283] + case 0x22: // Function, Variable Number of Arg. [333 283] aIn.Ignore( 3 ); break; case 0x43: case 0x63: - case 0x23: // Name [318 269] + case 0x23: // Name [318 269] aIn.Ignore( 4 ); break; case 0x44: case 0x64: - case 0x24: // Cell Reference [319 270] + case 0x24: // Cell Reference [319 270] { - UINT16 nCol, nRow; + UINT16 nCol, nRow; aIn >> nRow >> nCol; @@ -1006,12 +1006,12 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa break; case 0x45: case 0x65: - case 0x25: // Area Reference [320 270] + case 0x25: // Area Reference [320 270] { - UINT16 nRowFirst, nRowLast; - UINT16 nColFirst, nColLast; - ScSingleRefData &rSRef1 = aCRD.Ref1; - ScSingleRefData &rSRef2 = aCRD.Ref2; + UINT16 nRowFirst, nRowLast; + UINT16 nColFirst, nColLast; + ScSingleRefData &rSRef1 = aCRD.Ref1; + ScSingleRefData &rSRef2 = aCRD.Ref2; aIn >> nRowFirst >> nRowLast >> nColFirst >> nColLast; @@ -1034,10 +1034,10 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa break; case 0x46: case 0x66: - case 0x26: // Constant Reference Subexpression [321 271] + case 0x26: // Constant Reference Subexpression [321 271] case 0x47: case 0x67: - case 0x27: // Erroneous Constant Reference Subexpr. [322 272] + case 0x27: // Erroneous Constant Reference Subexpr. [322 272] case 0x48: case 0x68: case 0x28: // Incomplete Constant Reference Subexpr.[331 281] @@ -1045,25 +1045,25 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa break; case 0x49: case 0x69: - case 0x29: // Variable Reference Subexpression [331 281] + case 0x29: // Variable Reference Subexpression [331 281] aIn.Ignore( 2 ); // mehr steht da nicht! break; case 0x4A: case 0x6A: - case 0x2A: // Deleted Cell Reference [323 273] + case 0x2A: // Deleted Cell Reference [323 273] aIn.Ignore( 3 ); break; case 0x4B: case 0x6B: - case 0x2B: // Deleted Area Refernce [323 273] + case 0x2B: // Deleted Area Refernce [323 273] aIn.Ignore( 6 ); break; case 0x4C: case 0x6C: - case 0x2C: // Cell Reference Within a Name [323 ] + case 0x2C: // Cell Reference Within a Name [323 ] // Cell Reference Within a Shared Formula[ 273] { - UINT16 nRow, nCol; + UINT16 nRow, nCol; aIn >> nRow >> nCol; @@ -1078,10 +1078,10 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa break; case 0x4D: case 0x6D: - case 0x2D: // Area Reference Within a Name [324 ] - { // Area Reference Within a Shared Formula[ 274] - UINT16 nRowFirst, nRowLast; - UINT16 nColFirst, nColLast; + case 0x2D: // Area Reference Within a Name [324 ] + { // Area Reference Within a Shared Formula[ 274] + UINT16 nRowFirst, nRowLast; + UINT16 nColFirst, nColLast; aCRD.Ref1.nRelTab = aCRD.Ref2.nRelTab = 0; aCRD.Ref1.SetTabRel( TRUE ); @@ -1104,25 +1104,25 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa break; case 0x4E: case 0x6E: - case 0x2E: // Reference Subexpression Within a Name [332 282] + case 0x2E: // Reference Subexpression Within a Name [332 282] case 0x4F: case 0x6F: - case 0x2F: // Incomplete Reference Subexpression... [332 282] + case 0x2F: // Incomplete Reference Subexpression... [332 282] case 0x58: case 0x78: - case 0x38: // Command-Equivalent Function [333 ] + case 0x38: // Command-Equivalent Function [333 ] aIn.Ignore( 2 ); break; case 0x59: case 0x79: - case 0x39: // Name or External Name [ 275] + case 0x39: // Name or External Name [ 275] aIn.Ignore( 24 ); break; case 0x5A: case 0x7A: - case 0x3A: // 3-D Cell Reference [ 275] + case 0x3A: // 3-D Cell Reference [ 275] { - UINT16 nIxti, nRw, nGrbitCol; + UINT16 nIxti, nRw, nGrbitCol; aIn >> nIxti >> nRw >> nGrbitCol; @@ -1150,17 +1150,17 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa break; case 0x5B: case 0x7B: - case 0x3B: // 3-D Area Reference [ 276] + case 0x3B: // 3-D Area Reference [ 276] { - UINT16 nIxti, nRw1, nGrbitCol1, nRw2, nGrbitCol2; + UINT16 nIxti, nRw1, nGrbitCol1, nRw2, nGrbitCol2; aIn >> nIxti >> nRw1 >> nRw2 >> nGrbitCol1 >> nGrbitCol2; SCTAB nFirstScTab, nLastScTab; if( rLinkMan.GetScTabRange( nFirstScTab, nLastScTab, nIxti ) ) { - ScSingleRefData &rR1 = aCRD.Ref1; - ScSingleRefData &rR2 = aCRD.Ref2; + ScSingleRefData &rR1 = aCRD.Ref1; + ScSingleRefData &rR2 = aCRD.Ref2; rR1.nTab = nFirstScTab; rR2.nTab = nLastScTab; @@ -1183,12 +1183,12 @@ ConvErr ExcelToSc8::Convert( _ScRangeListTabs& rRangeList, XclImpStream& aIn, sa break; case 0x5C: case 0x7C: - case 0x3C: // Deleted 3-D Cell Reference [ 277] + case 0x3C: // Deleted 3-D Cell Reference [ 277] aIn.Ignore( 6 ); break; case 0x5D: case 0x7D: - case 0x3D: // Deleted 3-D Area Reference [ 277] + case 0x3D: // Deleted 3-D Area Reference [ 277] aIn.Ignore( 10 ); break; default: @@ -1364,9 +1364,9 @@ ConvErr ExcelToSc8::ConvertExternName( const ScTokenArray*& rpArray, XclImpStrea void ExcelToSc8::ExcRelToScRel8( UINT16 nRow, UINT16 nC, ScSingleRefData &rSRD, const BOOL bName ) { - const BOOL bColRel = ( nC & 0x4000 ) != 0; - const BOOL bRowRel = ( nC & 0x8000 ) != 0; - const UINT8 nCol = static_cast<UINT8>(nC); + const BOOL bColRel = ( nC & 0x4000 ) != 0; + const BOOL bRowRel = ( nC & 0x8000 ) != 0; + const UINT8 nCol = static_cast<UINT8>(nC); rSRD.SetColRel( bColRel ); rSRD.SetRowRel( bRowRel ); @@ -1375,18 +1375,18 @@ void ExcelToSc8::ExcRelToScRel8( UINT16 nRow, UINT16 nC, ScSingleRefData &rSRD, { // C O L if( bColRel ) - // rel Col + // rel Col rSRD.nRelCol = static_cast<SCsCOL>(static_cast<INT8>(nC)); else - // abs Col + // abs Col rSRD.nCol = static_cast<SCCOL>(nCol); // R O W if( bRowRel ) - // rel Row + // rel Row rSRD.nRelRow = static_cast<SCsROW>(static_cast<INT16>(nRow)); else - // abs Row + // abs Row rSRD.nRow = Min( static_cast<SCROW>(nRow), MAXROW); // T A B @@ -1419,10 +1419,10 @@ void ExcelToSc8::ExcRelToScRel8( UINT16 nRow, UINT16 nC, ScSingleRefData &rSRD, // stream seeks to first byte after <nLen> BOOL ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen ) { - UINT8 nOp; - UINT16 nRow1, nRow2, nCol1, nCol2; + UINT8 nOp; + UINT16 nRow1, nRow2, nCol1, nCol2; SCTAB nTab1, nTab2; - UINT16 nIxti; + UINT16 nIxti; sal_Size nSeek; @@ -1437,10 +1437,10 @@ BOOL ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen ) { case 0x44: case 0x64: - case 0x24: // Cell Reference [319 270] + case 0x24: // Cell Reference [319 270] case 0x4C: case 0x6C: - case 0x2C: // Cell Reference Within a Name [323 ] + case 0x2C: // Cell Reference Within a Name [323 ] // Cell Reference Within a Shared Formula[ 273] aIn >> nRow1 >> nCol1; @@ -1450,10 +1450,10 @@ BOOL ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen ) goto _common; case 0x45: case 0x65: - case 0x25: // Area Reference [320 270] + case 0x25: // Area Reference [320 270] case 0x4D: case 0x6D: - case 0x2D: // Area Reference Within a Name [324 ] + case 0x2D: // Area Reference Within a Name [324 ] // Area Reference Within a Shared Formula[ 274] aIn >> nRow1 >> nRow2 >> nCol1 >> nCol2; @@ -1461,7 +1461,7 @@ BOOL ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen ) goto _common; case 0x5A: case 0x7A: - case 0x3A: // 3-D Cell Reference [ 275] + case 0x3A: // 3-D Cell Reference [ 275] aIn >> nIxti >> nRow1 >> nCol1; nRow2 = nRow1; @@ -1470,7 +1470,7 @@ BOOL ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen ) goto _3d_common; case 0x5B: case 0x7B: - case 0x3B: // 3-D Area Reference [ 276] + case 0x3B: // 3-D Area Reference [ 276] aIn >> nIxti >> nRow1 >> nRow2 >> nCol1 >> nCol2; _3d_common: @@ -1490,55 +1490,55 @@ BOOL ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen ) r.Append( aScRange ); } break; - case 0x1C: // Error Value [314 266] - case 0x1D: // Boolean [315 266] + case 0x1C: // Error Value [314 266] + case 0x1D: // Boolean [315 266] nSeek = 1; break; - case 0x1E: // Integer [315 266] + case 0x1E: // Integer [315 266] case 0x41: case 0x61: - case 0x21: // Function, Fixed Number of Arguments [333 282] + case 0x21: // Function, Fixed Number of Arguments [333 282] case 0x49: case 0x69: - case 0x29: // Variable Reference Subexpression [331 281] + case 0x29: // Variable Reference Subexpression [331 281] case 0x4E: case 0x6E: - case 0x2E: // Reference Subexpression Within a Name [332 282] + case 0x2E: // Reference Subexpression Within a Name [332 282] case 0x4F: case 0x6F: - case 0x2F: // Incomplete Reference Subexpression... [332 282] + case 0x2F: // Incomplete Reference Subexpression... [332 282] case 0x58: case 0x78: - case 0x38: // Command-Equivalent Function [333 ] + case 0x38: // Command-Equivalent Function [333 ] nSeek = 2; break; case 0x42: case 0x62: - case 0x22: // Function, Variable Number of Arg. [333 283] + case 0x22: // Function, Variable Number of Arg. [333 283] nSeek = 3; break; - case 0x01: // Array Formula [325 ] - case 0x02: // Data Table [325 277] + case 0x01: // Array Formula [325 ] + case 0x02: // Data Table [325 277] case 0x43: case 0x63: - case 0x23: // Name [318 269] + case 0x23: // Name [318 269] case 0x4A: case 0x6A: - case 0x2A: // Deleted Cell Reference [323 273] + case 0x2A: // Deleted Cell Reference [323 273] nSeek = 4; break; case 0x46: case 0x66: - case 0x26: // Constant Reference Subexpression [321 271] + case 0x26: // Constant Reference Subexpression [321 271] case 0x47: case 0x67: - case 0x27: // Erroneous Constant Reference Subexpr. [322 272] + case 0x27: // Erroneous Constant Reference Subexpr. [322 272] case 0x48: case 0x68: case 0x28: // Incomplete Constant Reference Subexpr.[331 281] case 0x5C: case 0x7C: - case 0x3C: // Deleted 3-D Cell Reference [ 277] + case 0x3C: // Deleted 3-D Cell Reference [ 277] case 0x59: case 0x79: case 0x39: // Name or External Name [ 275] @@ -1546,21 +1546,21 @@ BOOL ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen ) break; case 0x40: case 0x60: - case 0x20: // Array Constant [317 268] + case 0x20: // Array Constant [317 268] nSeek = 7; break; - case 0x1F: // Number [315 266] + case 0x1F: // Number [315 266] case 0x4B: case 0x6B: - case 0x2B: // Deleted Area Refernce [323 273] + case 0x2B: // Deleted Area Refernce [323 273] nSeek = 8; break; case 0x5D: case 0x7D: - case 0x3D: // Deleted 3-D Area Reference [ 277] + case 0x3D: // Deleted 3-D Area Reference [ 277] nSeek = 10; break; - case 0x17: // String Constant [314 266] + case 0x17: // String Constant [314 266] { UINT8 nStrLen; aIn >> nStrLen; @@ -1568,13 +1568,13 @@ BOOL ExcelToSc8::GetAbsRefs( ScRangeList& r, XclImpStream& aIn, sal_Size nLen ) nSeek = 0; } break; - case 0x19: // Special Attribute [327 279] + case 0x19: // Special Attribute [327 279] { - UINT16 nData; - UINT8 nOpt; + UINT16 nData; + UINT8 nOpt; aIn >> nOpt >> nData; if( nOpt & 0x04 ) - {// nFakt -> Bytes oder Words ueberlesen AttrChoose + {// nFakt -> Bytes oder Words ueberlesen AttrChoose nData++; nSeek = nData * 2; } |