Search code examples
libreoffice-calclibreoffice-basic

In Starbasic Macros, in LibreCalc, I cant make a string to be passed as expression


In Starbasic Macros, in LibreCalc, I cant make a string to be passed as expression.

  • splitColours(1) returns the name of string
  • cLightYellow returns the value of the variable

How I convert String as an expression ?

         cLightYellow    = RGB(24,194,205)
         cLightPurple    = RGB(224,194,205)
         cLightGreen     = RGB(175,208,149)
         cBlue           = RGB(114,159,207)
         cOrange         = RGB(232,162,2)
         cGreen          = RGB(63,175,70)
         cBlack          = RGB(49,64,4 )

    Const oColours = "cLightYellow|cLightPurple|cLightGreen|" _
                       & "cBlue|cOrange|cGreen|cBlack"                                         
    splitColours   = Split(oColours, "|")




' print splitColours(1) returns the name of string
' print cLightYellow returns the value of the variable

Solution

  •    In Libreoffice forum, it was suggested that I can put them in Array: 
    
         cLightBlue      = RGB(180,199,220)
         cLightPurple    = RGB(224,194,205)
         cLightGreen     = RGB(175,208,149)
         cBlue           = RGB(114,159,207)
         cOrange         = RGB(232,162,2)
         cGreen          = RGB(63,175,70)
         cBlack          = RGB(49,64,4 )
        
         genColors = array( cLightYellow , cLightPurple, cLightGreen, _
                            cBlue, cOrange, cGreen, cBlack)
    
        for ii =  0 to 6 step 1
    
            print genColors(ii)
    
        next ii